Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java IllegalAccessError仅适用于Android 9内部异步任务_Java_Android_Exception_Android Asynctask_Illegalaccessexception - Fatal编程技术网

Java IllegalAccessError仅适用于Android 9内部异步任务

Java IllegalAccessError仅适用于Android 9内部异步任务,java,android,exception,android-asynctask,illegalaccessexception,Java,Android,Exception,Android Asynctask,Illegalaccessexception,IllegalAccessError仅在Android 9上的AsyncTask函数期间发生 在安卓9上有什么需要做的吗?所有其他版本都可以 该错误出现在生产应用程序上 我已经试着把一切公之于众了,而且是一模一样。这个错误在版本9上仍然存在 new TestTask(this, "test", true).execute(value); public class TestTask extends AsyncTask<String, Void, String> {

IllegalAccessError仅在Android 9上的AsyncTask函数期间发生

在安卓9上有什么需要做的吗?所有其他版本都可以

该错误出现在生产应用程序上

我已经试着把一切公之于众了,而且是一模一样。这个错误在版本9上仍然存在

    new TestTask(this, "test", true).execute(value);

public class TestTask extends AsyncTask<String, Void, String> {

    private String param1;
    private boolean param2;
    private String number;
    private WeakReference<Context> appReference;

    TestTask(Context context, String param1, boolean param2) {
        this.appReference = new WeakReference<>(context);
        this.param1 = param1;
        this.param2 = param2;
    }

    @Override
    public String doInBackground(String... values) {
        try {
            number = values[0];

            if(param2)
                performVib();

            ResponseEvent response = new TestSnmp(param1).set(number);

        if( appReference.get()!=null && m_debugMode) {
            Toast.makeText(appReference.get(), "Response: " + response, Toast.LENGTH_SHORT).show();
        }


        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    @Override
    public void onPostExecute(String result) {
        super.onPostExecute(result);
        try {
            if( appReference.get()!=null ) {
                Toast.makeText(appReference.get(), "Some text", Toast.LENGTH_SHORT).show();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

我将构造函数从BboxSend更改为TestTask,并在Android9上运行代码。它正在工作。

我将构造函数从BboxSend更改为TestTask,并在Android 9上运行代码。它正在工作。

我发现问题来自Proguard

我在proguard-rules.pro中添加了这一行: -保持类org.snmp4j.*{*;}
现在它似乎起作用了

我发现问题来自Proguard

我在proguard-rules.pro中添加了这一行: -保持类org.snmp4j.*{*;}
现在它似乎起作用了

doInBackground
中的实际代码是什么?doInBackground更新了
doInBackground
中的实际代码是什么?doInBackground更新了对不起,我已经更新了构造函数。我忘了说错误出现在生产应用程序上。对不起,我已经更新了构造函数。我忘了说错误出现在生产应用程序上。
java.lang.RuntimeException: 
  at android.os.AsyncTask$3.done (AsyncTask.java:354)
  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:245)
  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:764)
Caused by: java.lang.IllegalAccessError: 
  at xxx.TestTask.doInBackground (TestTask.java)
  at xxx.TestTask.doInBackground (TestTask.java)
  at android.os.AsyncTask$2.call (AsyncTask.java:333)
  at java.util.concurrent.FutureTask.run (FutureTask.java:266)
  at android.os.AsyncTask$SerialExecutor$1.run (AsyncTask.java:245)
  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:764)