我将Android工作室从预览2 更新为预览3 ,现在当我尝试生成发布APK时出现此错误:
Error:A problem was found with the configuration of task ':app:packageProdRelease'.
> File '/Users/jay/repositories/test/app/build/intermediatesError:A problem was found with the configuration of task ':app:packageProdRelease'.
> File '/Users/jay/repositories/test/app/build/intermediates/res/resources-prod-release-stripped.ap_' specified for property 'resourceFile' does not exist.
我已经读过它可能与即时运行功能有关,所以我禁用了它,但仍然是同样的错误。然后,我尝试将shrinkResources
属性设置为false
,然后它就可以了。但是当我尝试在 Google Developper Console 中上传apk时,它说我的apk不是 Zipaligned ......
无论您是Google Developper,请帮帮我! :o
答案 0 :(得分:5)
如果我使用的是gradle 2.2.0-alpha3,则会出现此问题。我找到了解决这个问题的方法。您可以通过在gradle中禁用shrinkResources和zipalign然后使用命令行运行zipalign来解决此问题。
的build.gradle:
shrinkResources false
zipAlignEnabled false
手动运行zipalign
命令:
<your-android-sdk-path>/sdk/build-tools/23.0.3$
./zipalign -v 4 <your-input>.apk <your-output>.apk
修改强>:
我只是尝试使用旧版本的gradle 2.1.0,它没有这个问题。 gradle 2.2.0-alpha3中的zipalign问题也在this SO thread中提到。
答案 1 :(得分:1)
我试图在项目build.gradle文件中使用com.android.tools.build:gradle:2.2.3
,这导致了我的问题。
我发现只要我将其更改为com.android.tools.build:gradle:2.1.0
答案 2 :(得分:0)
根据Google Engineer,同时启用minifyEnabled
和shrinkResources
应该有效:
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
shrinkResources true
zipAlignEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}