在 Android Studio 3 中激活 proguard 生成签名 Apk 时出错
Posted
技术标签:
【中文标题】在 Android Studio 3 中激活 proguard 生成签名 Apk 时出错【英文标题】:Error generating signed Apk with proguard activated in Android Studio 3 【发布时间】:2018-04-16 04:12:38 【问题描述】:如果 proguard 处于活动状态,我无法创建签名的 apk。如果没有,它会起作用。 错误是:
警告:处理任务 java.io.IOException 时出现异常: 不能写 [C:\Users....\androidStudioProjects\BStats\app\build\intermediates\transforms\proguard\release\0.jar] (无法读取 [C:\Users.....gradle\caches\transforms-1\files-1.1\play-services-auth-base-11.0.1.aar\37c6010cc8e9c38e6022a124120862be\jars\classes.jar(; ;;;;;**。班级)] (重复的 zip 条目 [com/google/android/gms/b/ju.class== classes.jar:com/google/android/gms/internal/zzei.class])) 错误:任务 ':app:transformClassesAndResourcesWithProguardForRelease' 执行失败。
我的 gradle 文件:
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support:animated-vector-drawable:26.1.0'
implementation 'com.android.support:cardview-v7:26.1.0'
implementation 'com.android.support:customtabs:26.1.0'
implementation 'com.android.support:recyclerview-v7:26.1.0'
implementation 'com.android.support:design:26.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
// Facebook stuff
// Android SDK
implementation 'com.facebook.android:facebook-android-sdk:4.+'
// Audience Network SDK. Only versions 4.6.0 and above are available
implementation 'com.facebook.android:audience-network-sdk:4.+'
// Account Kit
implementation 'com.facebook.android:account-kit-sdk:4.+'
如果我什至不使用它,它为什么会抱怨 play-services-auth-base-11.0.1.aar? 为什么不使用 proguard 会起作用?
感谢您的帮助。其他类似情况使用被提名的库,修复只是拥有正确版本的问题。事实并非如此。
我的前卫: -keepattributes 签名 -dontwarn com.google.android.gms.** - 如果没有,我会收到很多警告 - 我什至不会在我的应用中使用 com.google.android.gms。
谢谢。
【问题讨论】:
【参考方案1】:从应用程序中删除构建文件夹并运行如果不工作比尝试Invalidate Caches/Restart.
编码愉快!!
【讨论】:
两者都做。我什至删除了 .gradle 文件夹。没有运气。错误仍然存在错误:任务':app:transformClassesAndResourcesWithProguardForRelease'的执行失败。 > 作业失败,详情请查看日志【参考方案2】:很奇怪……
我做了这个改变:
// Android SDK
implementation( 'com.facebook.android:facebook-android-sdk:4.+' )
exclude group: 'com.google.android.gms'
// Audience Network SDK. Only versions 4.6.0 and above are available
implementation( 'com.facebook.android:audience-network-sdk:4.+')
exclude group: 'com.google.android.gms'
// Account Kit
implementation( 'com.facebook.android:account-kit-sdk:4.+')
exclude group: 'com.google.android.gms'
现在正在使用 Proguard 生成 APK。我还没有测试它以查看 Facebook 集成是否正常工作。如果确实如此,我认为这应该在文档中得到更好的解释。
【讨论】:
以上是关于在 Android Studio 3 中激活 proguard 生成签名 Apk 时出错的主要内容,如果未能解决你的问题,请参考以下文章
最新版IDEA ,webStrom,Android Studio激活方法