gpt4 book ai didi

android-studio - “Duplicate Zip Entry”(来自Proguard)-renderscript-v8.jar

转载 作者:行者123 更新时间:2023-12-03 06:08:26 27 4
gpt4 key购买 nike

我正在Android Studio中开发android应用程序。当我在不使用Proguard的情况下构建导出签名的APK的项目时没有问题,但是当我尝试使用ProGuard(minifyEnabled true)来构建项目时,Proguard的构建失败并出现如下错误:

Error:Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'.
> java.io.IOException: Can't write [user\myapplication\app\build\intermediates\transforms\proguard\release\jars\3\1f\main.jar] (Can't read [user]sdkpath\SDK\build-tools\23.0.0\renderscript\lib\renderscript-v8.jar(;;;;;;**/*.class)] (Duplicate zip entry [renderscript-v8.jar:android/support/annotation/Keep.class]))

这是我的build.gradle代码
...
defaultConfig {

renderscriptTargetApi 19
renderscriptSupportModeEnabled true
}

buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}

lintOptions {
abortOnError false
checkReleaseBuilds false
}
}

dependencies {
compile 'com.android.support:support-v4:23.3.0'
compile 'com.android.support:appcompat-v7:23.3.0'
compile 'com.google.android.gms:play-services:8.4.0'
compile 'com.google.android.gms:play-services-analytics:8.4.0'
compile project(':libraries:gpuimage')
compile 'it.sephiroth.android.library.horizontallistview:hlistview:1.2.2'
}

这是我的proguard-rule.pro
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider

-keep public class * extends android.view.View {
public <init>(android.content.Context);
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
public void set*(...);
}

-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
}

-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}

-keepclassmembers class * extends android.content.Context {
public void *(android.view.View);
public void *(android.view.MenuItem);
}




-keep class *.R
-keep class *.R$* {*;}

-keep public class android.support.v7.widget.** { *; }
-keep public class android.support.v7.internal.widget.** { *; }
-keep public class android.support.v7.internal.view.menu.** { *; }

-keep public class * extends android.support.v4.view.ActionProvider {
public <init>(android.content.Context);
}

## Google AdMob specific rules ##
## https://developers.google.com/admob/android/quick-start ##

-keep public class com.google.ads.** {
public *;
}

## Google Analytics 3.0 specific rules ##

-keep class com.google.analytics.** { *; }

#-keep class it.sephiroth.** {*;}
-dontwarn it.sephiroth.**

Proguard故障排除说这个

警告:无法写入资源。 zip 重复
您的输入jar包含多个具有相同名称的资源文件。 ProGuard继续照常复制资源文件,并跳过任何具有先前使用名称的文件。再一次,警告可能表示存在一些问题,因此建议删除重复项。一种方便的方法是在输入jar上指定过滤器。没有关闭这些警告的选项。
android The standard Android build process automatically specifies the input jars for you. There may not be an easy way to filter them to remove these warnings. You could remove the duplicate resource files manually from the input and the libraries.

但是我不知道我在构建中两次添加了哪个jar。

最佳答案

这可能与BuildTools 23.0.0中renderscript-v8.jar中的一个错误有关,该错误包括它自己的注释库副本,并且与其他支持库一起使用时可能会导致错误。

我建议您尝试使用BuildTools 23.0.3,看看问题是否消失。 23.0.3还包括针对RenderScript的其他一些修复程序。

关于android-studio - “Duplicate Zip Entry”(来自Proguard)-renderscript-v8.jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36759839/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com