【发布时间】:2018-07-10 08:41:08
【问题描述】:
我一直在阅读有关 verifyError 异常的信息,但我似乎无法为我的问题找到一个好的解决方案。
日志给我以下错误:
Caused by: java.lang.VerifyError: Verifier rejected class mypackage.GraphThready: void mypackage.GraphThready.run() failed to verify: void mypackage.GraphThready.run(): [0x50BE] copy1 v2<-v398 type=Undefined cat=1 (declaration of 'mypackage.GraphThready' appears in /data/app/mypackage-2/split_lib_slice_9_apk.apk)
我不知道是因为我的类 mypackage.GraphThready 被声明了两次,还是因为我正在使用 API 24(版本号 7.0)在 Android 设备上测试我的应用程序
这是应用程序 gradle 文件的部分内容:
compileSdkVersion 26
buildToolsVersion '27.0.3'
defaultConfig {
applicationId "mypackage"
minSdkVersion 16
targetSdkVersion 26
versionCode 2
versionName "2.0"
multiDexEnabled true
也许我应该将 'compiledSdkVersion' 更改为 24? 有什么建议么。
【问题讨论】:
-
一般经验法则是用
file -> invalidate caches & restart重新启动Android Studio。 -
我已经试过了@IoaneSharvadze
-
另外,降级
compileSdkVersion不是一个好选择,因为您将无法使用新的API。请尝试升级。升级构建工具、Android Studio、Gradle 版本。 -
设置 buildToolsVersion '27.0.3' 兼容 compileSdkVersion 26. 升级 compileSdkVersion , targetSdkVersion 到 27.
标签: android verifyerror