我有一个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时遇到此问题。
为什么会出现这种情况以及如何解决?