相关疑难解决方法(0)

Android:Proguard的推荐配置是什么?

我正在为Android开发应用程序并使用Proguard来混淆代码.

目前我正在使用ProGuard配置:

-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*

-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 com.android.vending.licensing.ILicensingService
Run Code Online (Sandbox Code Playgroud)

要维护布局XML上使用的自定义组件名称:

-keep public class custom.components.**
Run Code Online (Sandbox Code Playgroud)

要删除调试日志:

-assumenosideeffects class android.util.Log {
    public static *** d(...);
    public static *** v(...);
}
Run Code Online (Sandbox Code Playgroud)

为了避免更改布局onClick上调用的方法名称:

-keepclassmembers class * {
 public void onClickButton1(android.view.View);
 public void onClickButton2(android.view.View);
 public void onClickButton3(android.view.View);
}

-keepclasseswithmembernames class …
Run Code Online (Sandbox Code Playgroud)

android proguard

64
推荐指数
2
解决办法
6万
查看次数

Proguard警告"无法写入资源[META-INF/MANIFEST.MF](重复的zip条目)"

我正在使用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文件夹中删除了该库,将其添加为项目库并将依赖项添加到两个模块中.这没有解决任何问题,警告仍然存在,我不明白为什么.

我知道这些警告不会影响任何东西,但干净的构建是一个快乐的构建!

android warnings proguard android-support-library

36
推荐指数
2
解决办法
3万
查看次数

Android:配置Proguard

我正在尝试配置proguard并遇到一些按优先级排序的问题:

  • 我收到了重复拉链的警告,无法修复它.我在"libs"目录中使用外部库和2个库项目(一个库项目有一个外部库 - 只添加到项目一次),它们只添加到项目一次.我试图将我的外部罐子移动到另一个目录,即"lib" - 只是重命名,因为一些用户已经设法解决它,但它没有帮助我.另一种方法是尝试将custom_rules实现到基本build.xml,因为它可以帮助一些用户避免这些警告.但是它的一切对我没有帮助,我该如何解决呢?日志:

    ProGuard: Warning: can't write resource [META-INF/MANIFEST.MF] (Duplicate zip entry [jackson-annotations-2.1.4.jar:META-INF/MANIFEST.MF])
    ProGuard: Warning: can't write resource [META-INF/MANIFEST.MF] (Duplicate zip entry [android-support-v4.jar:META-INF/MANIFEST.MF])
    ProGuard: Warning: can't write resource [META-INF/MANIFEST.MF] (Duplicate zip entry [google-analytics-v2.jar:META-INF/MANIFEST.MF])
    ProGuard: Warning: can't write resource [META-INF/MANIFEST.MF] (Duplicate zip entry [jackson-core-2.1.4.jar:META-INF/MANIFEST.MF])
    ProGuard: Warning: can't write resource [META-INF/MANIFEST.MF] (Duplicate zip entry [httpclientandroidlib-1.1.2.jar:META-INF/MANIFEST.MF])
    ProGuard: Warning: can't write resource [META-INF/MANIFEST.MF] (Duplicate zip entry [deviceprint-lib-1.0.0.jar:META-INF/MANIFEST.MF])
    
    Run Code Online (Sandbox Code Playgroud)
  • 最后一件事是签名apk建设期间的一些注意事项

    ProGuard: Note: com.google.analytics.tracking.android.AdHitIdGenerator: can't find dynamically referenced class com.google.ads.AdRequest
    ProGuard: Note: the configuration …
    Run Code Online (Sandbox Code Playgroud)

android proguard

4
推荐指数
2
解决办法
8399
查看次数