Rejecting class because it failed compile-time verification Android

烂漫一生 提交于 2019-11-28 12:09:12

The issue is due to having a synchronized block inside a try-catch block, for example :

try {
    synchronized (mLock) {
        updateState();
    }
} catch (IllegalStateException e) {
}

Apparently this is not a good practice, but as soon as I change it like this it works :

synchronized(mLock) {
    try {
        updateState();
    } catch (IllegalStateException e) {
    }
}
NEXT

in android studio 2.1 ,the instant run will cause this problem,just run after close the instant run function.

File -> Preferences > Build Execution -> Deployment -> Instant Run

Disable the first checkbox: Enable Instant Run to hot swap.....

If you are building with Jack, make sure it's turned off from build.gradle

defaultConfig {
    ...
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    jackOptions {
        enabled false
    }
}

This error also might happen due to usage of Mockito within an Android InstrumentationTest. If the error appears on mocking objects then you have to add this lines to you gradle-file:

androidTestCompile "com.crittercism.dexmaker:dexmaker:1.4"
androidTestCompile "com.crittercism.dexmaker:dexmaker-dx:1.4"
androidTestCompile "com.crittercism.dexmaker:dexmaker-mockito:1.4"

This works for me with Mockito 1.10.15 and 1.10.19.

noone

i had this problem to with android 5. my app did correctly on 4 or below but on android 5 devices i had crash.

i broke my codes with multiple Threads and it fixed. if your code wants to change the UI use handler .

 Thread Thread = new Thread(new Runnable() {

        @Override
        public void run() {
            // TODO Auto-generated method stub
            handler.post(new Runnable() {

                @Override
                public void run() {
                    use this if your codes will change the Ui

. . . . .

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!