Articles of proguard

ProGuard无法在我的应用中使用

我试图用ProGuard保护我的apk文件,但我收到了错误。 [2013-08-14 12:21:41 – LookAround] Proguard returned with error code 1. See console [2013-08-14 12:21:41 – LookAround] Warning: android.support.v4.media.TransportMediatorJellybeanMR2: can’t find superclass or interface android.media.RemoteControlClient$OnGetPlaybackPositionListener [2013-08-14 12:21:41 – LookAround] Warning: android.support.v4.media.TransportMediatorJellybeanMR2: can’t find superclass or interface android.media.RemoteControlClient$OnPlaybackPositionUpdateListener [2013-08-14 12:21:41 – LookAround] Warning: android.support.v4.media.TransportMediatorJellybeanMR2$1: can’t find superclass or interface android.view.ViewTreeObserver$OnWindowAttachListener [2013-08-14 12:21:41 – LookAround] Warning: android.support.v4.media.TransportMediatorJellybeanMR2$2: […]

Android – 使用Android Studio和Gradle的httpcore和httpmime的Proguard

我正在使用Apache库httpmime和httpcore为多部分实体开发Android Studio 1.0.2和Gradle 1.0.0的应用程序。 这是我的build.gradle : apply plugin: ‘com.android.application’ android { compileSdkVersion 21 buildToolsVersion “21.1.1” // Something wrong with the http* libs packagingOptions { exclude ‘META-INF/DEPENDENCIES’ exclude ‘META-INF/NOTICE’ exclude ‘META-INF/LICENSE’ exclude ‘META-INF/DEPENDENCIES.txt’ exclude ‘META-INF/LICENSE.txt’ exclude ‘META-INF/NOTICE.txt’ exclude ‘META-INF/NOTICE’ exclude ‘META-INF/LICENSE’ exclude ‘META-INF/DEPENDENCIES’ exclude ‘META-INF/notice.txt’ exclude ‘META-INF/license.txt’ exclude ‘META-INF/dependencies.txt’ exclude ‘META-INF/LGPL2.1’ } defaultConfig { // … […]

Proguard Retrace不使用像E / AndroidRuntime(10237)这样的堆栈跟踪运行时信息:

我需要从我的proguard.trace文件中删除行,如E / AndroidRuntime(10237):以便回溯起作用。 基本上我正在查看日志文件,需要删除此行或回溯不起作用。 我错过了什么,或者我是否需要为每个堆栈跟踪执行此操作? 基本上它之前的信息出现在stacktrace行的开头就像 E/AndroidRuntime(10237): at com.test.abc(UnnownSource) :134 这是整个堆栈跟踪: E/AndroidRuntime(10237): FATAL EXCEPTION: main E/AndroidRuntime(10237): java.lang.ArithmeticException: divide by zero E/AndroidRuntime(10237): at ub.a(SourceFile:180) E/AndroidRuntime(10237): at wp.getView(SourceFile:290) E/AndroidRuntime(10237): at android.app.ActivityThread.main(ActivityThread.java:4627) E/AndroidRuntime(10237): at java.lang.reflect.Method.invokeNative(Native Method) E/AndroidRuntime(10237): at java.lang.reflect.Method.invoke(Method.java:521) E/AndroidRuntime(10237): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858) E/AndroidRuntime(10237): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) E/AndroidRuntime(10237): at dalvik.system.NativeStart.main(Native Method) etc E/ ( 2623): Dumpstate > /data/log/dumpstate_app_error 所以我正在运行./retrace.sh mapping.txt […]

Proguard在Java中删除Anonymous类中的Anonymous类

我有一个问题,当你在匿名类中声明一个匿名类时,Proguard不工作。 这是基本示例中的样子: public class Class1 { public void function1 (){ new Class2(){ @Override public void function2(){ new Class3(){ @Override public void function3(){ // do something } } } } } } 在gradle构建脚本期间,正在执行proguard。 现在我收到以下错误: my.package.Class1$2$1: can’t find enclosing method ‘void function2()’ in program class my.package.Class1$2 如果我将代码更改为只有1个“级别”的匿名类,则proguard正在完成而没有错误。 这有效: public class Class1 { public void function1 (){ Class3 […]

proguard – 在proguard / minify之后,AppCompat不支持当前的主题function

在构建应用程序(使用minifyEnabled为true)之后,我已经从v22.2.1更新了支持库到v23.0.0我有“AppCompat不支持当前主题function”的例外: 08-23 05:46:10.168 19437 19437 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{tm.alashow.dotjpg/tm.alashow.dotjpg.ui.activity.MainActivity}: java.lang.IllegalArgumentException: AppCompat does not support the current theme features 08-23 05:46:10.168 19437 19437 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2417) 08-23 05:46:10.168 19437 19437 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2477) 08-23 05:46:10.168 19437 19437 E AndroidRuntime: at android.app.ActivityThread.-wrap11(ActivityThread.java) 08-23 05:46:10.168 19437 19437 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1345) 调试应用程序或禁用proguard(minifyEnabled […]

Android – App在Pre-Lollipop设备上崩溃

我的应用程序在Lollipop设备上运行良好,但它在版本Lollipop之前一直在崩溃。 我只是通过谷歌文档在我的应用程序中使用以下代码实现了横幅添加 // Request for Ads AdRequest adRequest = new AdRequest.Builder() // Add a test device to show Test Ads .addTestDevice(AdRequest.DEVICE_ID_EMULATOR) .build(); // Load ads into Banner Ads mAdView.loadAd(adRequest); 运用 compileSdkVersion 23 buildToolsVersion “23.0.1” 表现 错误 E/AndroidRuntime: FATAL EXCEPTION: main E/AndroidRuntime: Process: com.app.aggro, PID: 13257 E/AndroidRuntime: java.lang.VerifyError: com/google/android/gms/measurement/internal/zzv E/AndroidRuntime: at com.google.android.gms.measurement.AppMeasurementContentProvider .onCreate(Unknown Source) E/AndroidRuntime: at […]

Android – Proguard重复的zip条目错误

我想在使用android库项目的android应用程序中使用proguard,我收到以下错误: java.io.IOException: Can’t write [/private/var/folders/Pg/PgUpPJQ-E5qxL7jX6kpdCE+++TI/-Tmp-/android_3140050575281008652.jar] (Can’t read [proguard.ClassPathEntry@1f8d244] (Duplicate zip entry [be.class == android_144638064543155619.jar:com/comp/dp/library/R$anim.class])) at proguard.OutputWriter.writeOutput(OutputWriter.java:224) at proguard.OutputWriter.execute(OutputWriter.java:120) at proguard.ProGuard.writeOutput(ProGuard.java:391) at proguard.ProGuard.execute(ProGuard.java:152) at proguard.ProGuard.main(ProGuard.java:499) 我的proguard.cfg文件就是这个 ,还有一些-libraryjars引用了rt.jar和其他几个依赖库。 我的猜测是这个问题与使用Library Project有关,而proguard正试图从库项目中处理两次入口。 但我不确定应该用哪种方法来解决这个问题。 任何建议/方向都非常感谢。 更新1:通过删除-injars bin/classes我能够解决这个问题。 我的猜测是因为proguard处理库项目和应用程序项目库项目的.class文件被处理了两次。 一旦进入库项目的bin/classes文件夹,另一次进入应用程序项目的bin/classes文件夹。

启动带有proguard的签名版本APK时出现奇怪的NoClassDefFoundError错误

我试过的一些事情: 删除Facebook依赖关系使应用程序不再崩溃,但它只显示一个空白的白色屏幕。 这是通过proguard和multidex启用的。 将gradle升级到最新版本并没有解决任何问题。 我升级到gradle 2.0.0-beta4插件并且gradle 2.10.0。 安装以前版本的Android Studio 1.5.1并没有解决任何问题。 我已经安装了Java JDK 1.8,如果这是任何事情的线索。 我还可以发布一些logcat日志来查看发生了什么。 我在启用了Proguard应用程序中使用MultiDex支持。 当我在没有启动proguard的情况下构建一个APK文件并且在我的Android手机上安装它时,一切正常(我有超过8部手机,因此手机不是问题)。 当我构建一个版本APK WITH proguard启用它在安装应用程序后在应用程序启动时崩溃。 我收到以下日志消息: I/art: Rejecting re-init on previously-failed class java.lang.Class I/art: Rejecting re-init on previously-failed class java.lang.Class I/art: Rejecting re-init on previously-failed class java.lang.Class I/art: Rejecting re-init on previously-failed class java.lang.Class I/art: Rejecting re-init on previously-failed class java.lang.Class […]

Proguard似乎删除了路径中包含的整个包

我使用Proguard来模糊我的代码,并使其变小。 我使用Eclipse构建,并且已经有一段时间了。 我最近有一个在调试版本中运行良好的版本,我正试图发布。 我一直试图在最后一天的大部分时间内完成这项工作,当我尝试使用已发布的版本运行我的代码时,我一直收到以下错误(如果有帮助,我可以生成更多代码)。 02-25 16:39:58.844:E / AndroidRuntime(27593):引起:java.lang.ClassNotFoundException:路径上没有find类“com.kd7uiy.hamfinder.MainActivity”:DexPathList [[zip file“/ data /app/com.kd7uiy.hamfinder-2.apk”],nativeLibraryDirectories=[/data/app-lib/com.kd7uiy.hamfinder-2,/ vendor / lib,/ system / lib]] 真奇怪的是,我没有改变我的proguard文件,至少不是我第一次这样做。 我一直在玩它,看看我是否可以得到任何东西让它工作,但似乎没有什么可以做到的。 自从这个版本开始,我在我的代码库中添加了一个新库,即谷歌地图实用程序库 。 我的最后一次构建仅在几天前。 尝试解决此问题,我发现有一个整个文件夹没有出现在路径列表中。 我在编译的二进制类中看到了这个文件夹,但是它们不能在这个过程中存活下来。 如果我停止使用Proguard,则发布版本按预期工作。 我的代码依赖于我的/src目录中的6个包。 虽然我可能在各个文件夹中添加了一个或两个文件,但我可能已经移动了一两个文件夹,但我没有显着更改此版本的此结构。 6个套餐是: com.kd7uiy.hamfinder com.kd7uiy.hamfinder.dialogs com.kd7uiy.hamfinder.ObserverOutPairs com.kd7uiy.hamfinder.Subjects com.kd7uiy.library com.robobunny 其中,我在proguard映射文件中找不到以下包的直接证据,至少对于这个特定的试验 com.kd7uiy.hamfinder com.kd7uiy.hamfinder.ObserverOutPairs com.kd7uiy.hamfinder.Subjects 有些引用了一些variables名,但没有包含整个包的证据。 我检查了.dex文件,它也没有包含丢失的软件包。 我应该添加,有时看似随机的其他一些软件包将会出现,但绝不会出现我的MainActivity所在的com.kd7uiy.hamfinder 。 有时它们都不会出现。 这是我的project.properties文件: # To enable ProGuard to shrink and obfuscate your code, […]

Android Proguard java.io.IOException:无法读取[proguard.ClassPathEntry

嗨全部当为Android启用proguard时,在构建已签名的jar时,我得到以下转储: [2011-02-03 11:28:27 – VideoCreator] Proguard returned with error code 1. See console [2011-02-03 11:28:27 – VideoCreator] java.io.IOException: Can’t read [proguard.ClassPathEntry@49b290] (No such file or directory) [2011-02-03 11:28:27 – VideoCreator] at proguard.InputReader.readInput(InputReader.java:230) [2011-02-03 11:28:27 – VideoCreator] at proguard.InputReader.readInput(InputReader.java:200) [2011-02-03 11:28:27 – VideoCreator] at proguard.InputReader.readInput(InputReader.java:178) [2011-02-03 11:28:27 – VideoCreator] at proguard.InputReader.execute(InputReader.java:100) [2011-02-03 11:28:27 – VideoCreator] at […]