Ric*_*ral 36 android warnings proguard android-support-library
我正在使用IntelliJ并在调试模式下运行Proguard,但我似乎无法摆脱警告,例如:
ProGuard: [MyApplication] Warning: can't write resource [META-INF/MANIFEST.MF]
(Duplicate zip entry [android-support-v13.jar:META-INF/MANIFEST.MF])
Run Code Online (Sandbox Code Playgroud)
这个项目有几个模块,android-support-v13.jar
正在其中2个模块中使用.我认为这是问题所以我从libs文件夹中删除了该库,将其添加为项目库并将依赖项添加到两个模块中.这没有解决任何问题,警告仍然存在,我不明白为什么.
我知道这些警告不会影响任何东西,但干净的构建是一个快乐的构建!
Ale*_*ado 47
可能是'proguard.cfg'问题.它包括任何'-injars'吗?如果您的项目包含另一个项目作为库,则可以对jar进行两次处理.你能发贴'proguard.cfg'吗?
摘自http://proguard.sourceforge.net/index.html#manual/troubleshooting.html:
您的输入jar包含多个具有相同名称的资源文件.ProGuard像往常一样继续复制资源文件,跳过以前使用过的名称的所有文件.此外,警告可能表示某些问题,因此建议删除重复项.一种方便的方法是在输入罐上指定过滤器.没有选项可以关闭这些警告.
选项1:
由于您无法发布'-injars',请检查它们是否包含'android-support-v13.jar'或项目中包含的库,其中包含'android-support-v13.jar'.
假设您在IntelliJ IDEA中使用Ant构建,则不得添加-injars,-outjars或-libraryjars选项; Ant脚本已经为你做了.
选项#2:
虽然警告是无害的,但是干净的构建是一个快乐的构建,所以尝试:
和
https://gist.github.com/paulpv/4439012
选项#3:
(!META-INF/MANIFEST.MF)
在每个'-injars'命令后包括
-injars library.jar(!META-INF/MANIFEST.MF)
Run Code Online (Sandbox Code Playgroud)
选项#4: Android Proguard重复定义
通过将第三方库移动到另一个目录(在我的情况下为'lib')来解决此问题.然后补充说
Run Code Online (Sandbox Code Playgroud)-injars lib/jmdns.jar
到proguard.cfg文件.
选项#5: Android - Proguard重复的zip条目错误
如果您的Proguard配置文件包含以下行,请将其删除:
-injars bin/classes
Run Code Online (Sandbox Code Playgroud)
选项#6: 使用proguard的Android混淆应用程序会混淆库罐 - 或者是它?
我发现让Proguard独自离开图书馆罐子的另一种方法是要求它保留他们的包装名称,例如:
-keep class javax.**{*; } -keep class org.**{*; } -keep class twitter4j.*{*; }
选项#7:
一个奇怪的解决方案(删除src文件夹中的META-INF文件夹)到这里类似的东西.
我用过packagingOptions
in exclude
,build.gradle
我和你有同样的问题。
您可以使用此修复它。
packagingOptions {
pickFirst 'META-INF/services/javax.annotation.processing.Processor'
pickFirst 'META-INF/DEPENDENCIES.txt'
pickFirst 'META-INF/DEPENDENCIES'
pickFirst 'META-INF/LICENSE.txt'
pickFirst 'META-INF/LICENSE'
pickFirst 'META-INF/NOTICE.txt'
pickFirst 'META-INF/NOTICE'
pickFirst 'META-INF/LGPL2.1'
}
Run Code Online (Sandbox Code Playgroud)
pickFirst
用。。。来代替exclude
。
归档时间: |
|
查看次数: |
32360 次 |
最近记录: |