java.lang.VerifyError和Product Flavors

时间:2016-01-14 13:13:34

标签: java android android-gradle android-build

我有一个Android应用程序,有两种产品口味(专业和免费):

productFlavors {
    pro {
       ...
    }
    free {
       ...
    }

在两种风格中都有不同的类(ProModelImpl)。文件夹树中有两个单独的ProModelImpl.java文件:

/app/free/java/com/myapp/models
/app/pro/java/com/myapp/models

此类由位于主源树中的另一个类(ProModel.java)使用:

/app/main/java/com/myapp/models

一切正常在我的设备上运行,但一些用户有一个奇怪的例外(我通过Crashlytics看到这一点):

Fatal Exception: java.lang.VerifyError: com/myapp/models/ProModelImpl
       at com.myapp.models.ProModel.onCreate(Unknown Source)
       at com.myapp.models.ProModel.access$200(Unknown Source)
       at com.myapp.models.ProModel$InstanceHolder.(Unknown Source)
       at com.myapp.models.ProModel.getInstance(Unknown Source)
       at com.myapp.App.createModels(Unknown Source)
       at com.myapp.App.onCreate(Unknown Source)
       at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1024)
       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4684)
       at android.app.ActivityThread.access$1400(ActivityThread.java:159)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1376)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loop(Looper.java:176)
       at android.app.ActivityThread.main(ActivityThread.java:5419)
       at java.lang.reflect.Method.invokeNative(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:525)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
       at dalvik.system.NativeStart.main(NativeStart.java)

有时删除构建文件夹并重新编译帮助。有时候没有。我目前在使用Build Tools v23.0.2和Gradle v2.4时遇到此问题。

为什么会出现这种情况以及如何解决?

0 个答案:

没有答案