我在使用Android应用程序的发布版本时遇到问题。每次关闭并重新打开应用程序时,基于SharedPreferences的持久性cookie存储(loopjasync-http-client)都是空的。在没有minifyEnabled的情况下,无法在调试版本上复制此行为。我试图禁用混淆器(http://pastebin.com/PC2r8mGM)完成的所有收缩和优化,但问题仍然存在。 最佳答案 我也遇到过这个问题。我通过添加修复了它-dontobfuscate根据我的混淆规则。 关于an
事实证明,我没有在已发布到GooglePlay商店的实时应用程序上激活Proguard。这不是世界末日,因为我的应用程序中没有任何敏感信息(而且我发现即使应用了Proguard,我也可以很好地反编译应用程序)。我的问题是:如果我应用Proguard然后将新的.apk上传到GooglePlay,当我的用户更新时他们会遇到问题吗?我问的一个原因是因为我了解到更改应用程序中的LAUNCHERActivity可能会使用户创建的快捷方式在更新版本中无效,因此我试图防止给我的用户造成更多不便。 最佳答案 IfIapplyProguardandt
Proguard可以很好地移除琐碎日志调用。(使用assumenosideeffects关键字)但它处理重要日志调用的效果很差。我所说的“非平凡”不仅仅是一个字符串。例如:Log.i(TAG,"velocity="+velocity)"。Proguard保留了newStringBuilder("velocity=")以及保留值的附加变量,没有太多地掩盖该变量。它仅删除对Log的最终调用。字符串将保留在那里,浪费内存、cpu周期,还有助于破解者理解代码。因此,为了解决这个问题,我使用if(BuildConfig.DEBUG){...}将我的应用中的每个重要调试日志调用包装起来。但是用if
我在我的Android应用程序中使用SLF4J进行日志记录。在发布版本中,我不希望出现所有调试日志,因此我尝试使用ProGuard删除它们。但是日志语句仍然打印到logcat控制台,我无法自己弄清楚我做错了什么。这是我第一次使用ProGuard,所以非常感谢任何帮助!谢谢!MainActivity.javaimportorg.slf4j.Logger;importorg.slf4j.LoggerFactory;publicclassMainActivity{privatestaticfinalLoggerlog=LoggerFactory.getLogger(MainActivity.
为了简化用户的堆栈跟踪分析,我想在ProGuard混淆我的Android应用程序时禁用“积极重载”。在我混淆的APK中,我经常有一些类在同一个类中包含多个名为a()的方法/字段,这很难分析堆栈跟踪,因为它不包含方法参数或行号.根据ProGuarddocumentation,使用选项-overloadaggressively强制此重载。问题是ProGuard在混淆我的应用程序时似乎使用了这个选项,即使我的ProGuard配置文件不包含这个选项:-optimizationpasses5-dontusemixedcaseclassnames-dontskipnonpubliclibraryc
我正在为使用第3方库的应用程序配置Proguard。包含以下行是否是“最佳实践”(为了避免将来难以发现的错误):-keepclass3rd_party_lib_name.**{*;}对于每个没有来自其开发人员的特定Proguard说明的第3方开源库?此外,还有一个相关问题:对于我应该使用哪些情况,是否有一般指南-keepclass在什么情况下我应该使用-keeppublicclass非常感谢 最佳答案 proguard和代码混淆的主要问题一般是类名、方法和字段名被修改。(即myExplicitMethodName()变成了a())当
为改造编写了自定义错误处理。当minifyEnabledfalse时,代码可以完美运行。当我启用proguard时,出现以下异常12-1710:14:07.68818568-19041/com.mobility.cariq.carscoreW/System.err﹕java.lang.reflect.UndeclaredThrowableException12-1710:14:07.68818568-19041/com.mobility.cariq.carscoreW/System.err﹕at$Proxy9.updatesForModel(NativeMethod)12-1710:1
我在使用Proguard和一些库的Android项目上遇到了一些麻烦。具体来说,我遇到了XmlPullParser冲突,无论我做什么,似乎都无法解决它。以下是我正在使用的库:JacksonParser,包括:Jackson-all.1.6.4.jarJoda-time.1.6.2.jarjsr311-api-1.0.jarstax2-api-3.0.0.jarXStream,其中包括:xpp3_min-1.1.4c.jarxstream-for-android-1.0.0.jar还有其他一些,但它们不是问题。这些似乎是我们问题的罪魁祸首。具体来说,问题是:优化如果我进行优化,我会得到“
如果我在调试中构建我的应用程序,它会完美运行。但是,当我使用proguard构建发布版时,出现了几个错误,然后构建失败了。错误总结:Warning:therewere445unresolvedreferencestoclassesorinterfaces.Warning:therewere13instancesoflibraryclassesdependingonprogramclasses.我修改了我的proguard-rules.txt文件,如下所示。这允许构建成功,但是当我安装应用程序时,亚马逊下载不起作用(在调试版本中工作)。-keepclassorg.xmlpull.v1.*
我正在尝试创建一个APK文件,但是当我在导出对话框中按“完成”时,出现错误,并且未创建APK。到目前为止在网上找不到任何东西,也许这里有人可以提供帮助?错误:Proguardreturnedwitherrorcode1.SeeconsoleWarning:com.google.ads.util.i:can'tfindreferencedmethod'voidsetMediaPlaybackRequiresUserGesture(boolean)'inclassandroid.webkit.WebSettingsYoushouldcheckifyouneedtospecifyadditi