Skip to content

There seems to be a version conflict issue with the pache HttpClient library. #75

@shinxxxxwon

Description

@shinxxxxwon

I'm trying to use Cups4j-0.7.9.

implementation group: 'org.cups4j', name: 'cups4j', version: '0.7.9'

Now connect the client and get information about printers.

private class PrintTask extends AsyncTask<Void, Void, PrintRequestResult> {
        @Override
        protected PrintRequestResult doInBackground(Void... params) {
            try {
                CupsClient cupsClient = new CupsClient("myIP", 631);
                List<CupsPrinter> printers = cupsClient.getPrinters();
                for (CupsPrinter printer : printers) {
                    System.out.println("Printer Name: " + printer.getName());
                }
            } catch (IOException e) {
                Log.e("PrintError", "Error while reading file or communicating with the printer : ", e);
                e.printStackTrace();
            } catch (Exception e) {
                Log.e("PrintError", "Error : ", e);
                e.printStackTrace();
            }

            return null;
        }

        @Override
        protected void onPostExecute(PrintRequestResult result) {
            if (result != null && result.isSuccessfulResult()) {
                Log.d("PrintSuccess", "Print job submitted successfully!");
            } else {
                Log.e("PrintError", "Print job failed: " + (result != null ? result.getResultMessage() : "Unknown error"));
            }
        }
    }

However, a problem occurs when the app dies when running. The place where it dies is List<CupsPrinter> printers = cupsClient.getPrinters();.

The error message is:

E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
    Process: com.example.wifidir, PID: 31309
    java.lang.RuntimeException: An error occurred while executing doInBackground()
        at android.os.AsyncTask$4.done(AsyncTask.java:415)
        at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
        at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
        at java.util.concurrent.FutureTask.run(FutureTask.java:271)
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:305)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:923)
     Caused by: java.lang.NoSuchFieldError: No static field INSTANCE of type Lorg/apache/http/conn/ssl/AllowAllHostnameVerifier; in class Lorg/apache/http/conn/ssl/AllowAllHostnameVerifier; or its superclasses (declaration of 'org.apache.http.conn.ssl.AllowAllHostnameVerifier' appears in /system/framework/framework.jar!classes5.dex)
        at org.apache.http.conn.ssl.SSLConnectionSocketFactory.<clinit>(SSLConnectionSocketFactory.java:151)
        at org.apache.http.impl.client.HttpClientBuilder.build(HttpClientBuilder.java:977)
        at org.cups4j.operations.IppHttp.<clinit>(IppHttp.java:33)
        at org.cups4j.operations.IppHttp.createHttpClient(IppHttp.java:39)
        at org.cups4j.operations.IppOperation.sendRequest(IppOperation.java:157)
        at org.cups4j.operations.IppOperation.sendRequest(IppOperation.java:130)
        at org.cups4j.operations.IppOperation.request(IppOperation.java:64)
        at org.cups4j.operations.cups.CupsGetPrintersOperation.getPrinters(CupsGetPrintersOperation.java:59)
        at org.cups4j.CupsClient.getPrinters(CupsClient.java:138)
        at com.example.wifidir.MainActivity$PrintTask.doInBackground(MainActivity.java:55)
        at com.example.wifidir.MainActivity$PrintTask.doInBackground(MainActivity.java:50)
        at android.os.AsyncTask$3.call(AsyncTask.java:394)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:305) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
        at java.lang.Thread.run(Thread.java:923) 

Is there any way to solve this problem??

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions