草庐IT

proguard-project

全部标签

android - IntelliJ/Android Studio - 如何激活 proguard 来混淆代码 - 一步一步?

我到处寻找答案,但没有找到任何答案。主要问题是每个人都说了proguard配置文件,但没有,IntelliJ/AndroidStudio不会生成这样的文件,SDK目录中也没有,那么如何为proguard混淆生成有效的配置文件? 最佳答案 我知道我回答有点晚了,但这是答案此博客包含您从头开始逐步使用图像所需的所有内容。在androidStudio的项目View中打开您的项目打开应用的build.gradle文件。改变最小化启用假到最小化启用真这些是启用混淆器的步骤。如果您想提前查看,可以访问以下链接。Bloggerhaveanswer

Android - Proguard 重复 zip 条目错误 - Android 支持库

我正在尝试在使用android库项目的android应用程序中使用Proguard。我的核心android项目依赖于两个android库项目。核心和库项目依赖于android支持库(在我的例子中:android-support-v4.jar)。当我尝试使用ProGuard对其进行混淆时,我总是会收到以下错误(如果Gradle脚本中禁用了Proguarg,则编译工作正常。)::MYANDROIDPROJECT:proguardDemoReleaseFAILEDFAILURE:Buildfailedwithanexception.*Whatwentwrong:Executionfailed

android - Proguard收缩导致空指针异常

我的Android应用程序中有一个视频Activity。在禁用proguard的调试构建中,一切都像一个魅力。但是在启用混淆器并且视频Activity开始的发布版本中,我得到了一个NPE。我的gradle文件的一部分:buildTypes{debug{applicationIdSuffix'.dev'versionNameSuffix'-dev'minifyEnabledfalseshrinkResourcesfalse}release{minifyEnabledtrueshrinkResourcestruedebuggablefalseproguardFilesgetDefaultP

Android Studio Gradle Project Sync - 无法解决 Espresso-Core 和 Appcompat

我正在学习位于https://developer.android.com/training/basics/firstapp/index.html的“第一个应用程序”教程.但是,在创建默认的“空Activity”项目并尝试构建它时,我收到以下错误:Error:(23,24)Failedtoresolve:com.android.support.test:espresso-core:2.2.2Error:(26,13)Failedtoresolve:com.android.support:appcompat-v7:26.+我的(默认/自动生成的)build.gradle:applyplug

android - 更新 Robolectric 2.4 : Getting application tag error for library projects in eclipse

使用2.4更新robolectric后出现的错误堆栈跟踪有什么解决办法吗?java.lang.RuntimeException:java.lang.IllegalArgumentException:Missingrequiredelementin.\..\google-play-services_lib\AndroidManifest.xmlatorg.robolectric.RobolectricTestRunner$2.evaluate(RobolectricTestRunner.java:226)atorg.junit.runners.ParentRunner.runLeaf(P

android - ProGuard 和 SharedPreferences

我在使用Android应用程序的发布版本时遇到问题。每次关闭并重新打开应用程序时,基于SharedPreferences的持久性cookie存储(loopjasync-http-client)都是空的。在没有minifyEnabled的情况下,无法在调试版本上复制此行为。我试图禁用混淆器(http://pastebin.com/PC2r8mGM)完成的所有收缩和优化,但问题仍然存在。 最佳答案 我也遇到过这个问题。我通过添加修复了它-dontobfuscate根据我的混淆规则。 关于an

android - 将 Proguard 应用于 Google Play 上的现有应用

事实证明,我没有在已发布到GooglePlay商店的实时应用程序上激活Proguard。这不是世界末日,因为我的应用程序中没有任何敏感信息(而且我发现即使应用了Proguard,我也可以很好地反编译应用程序)。我的问题是:如果我应用Proguard然后将新的.apk上传到GooglePlay,当我的用户更新时他们会遇到问题吗?我问的一个原因是因为我了解到更改应用程序中的LAUNCHERActivity可能会使用户创建的快捷方式在更新版本中无效,因此我试图防止给我的用户造成更多不便。 最佳答案 IfIapplyProguardandt

android - 如何配置 Proguard 以删除重要的日志消息?

Proguard可以很好地移除琐碎日志调用。(使用assumenosideeffects关键字)但它处理重要日志调用的效果很差。我所说的“非平凡”不仅仅是一个字符串。例如:Log.i(TAG,"velocity="+velocity)"。Proguard保留了newStringBuilder("velocity=")以及保留值的附加变量,没有太多地掩盖该变量。它仅删除对Log的最终调用。字符串将保留在那里,浪费内存、cpu周期,还有助于破解者理解代码。因此,为了解决这个问题,我使用if(BuildConfig.DEBUG){...}将我的应用中的每个重要调试日志调用包装起来。但是用if

Android:如何使用 ProGuard 删除 SLF4J 调试日志记录

我在我的Android应用程序中使用SLF4J进行日志记录。在发布版本中,我不希望出现所有调试日志,因此我尝试使用ProGuard删除它们。但是日志语句仍然打印到logcat控制台,我无法自己弄清楚我做错了什么。这是我第一次使用ProGuard,所以非常感谢任何帮助!谢谢!MainActivity.javaimportorg.slf4j.Logger;importorg.slf4j.LoggerFactory;publicclassMainActivity{privatestaticfinalLoggerlog=LoggerFactory.getLogger(MainActivity.

java - 在 ProGuard for Android 中禁用主动重载

为了简化用户的堆栈跟踪分析,我想在ProGuard混淆我的Android应用程序时禁用“积极重载”。在我混淆的APK中,我经常有一些类在同一个类中包含多个名为a()的方法/字段,这很难分析堆栈跟踪,因为它不包含方法参数或行号.根据ProGuarddocumentation,使用选项-overloadaggressively强制此重载。问题是ProGuard在混淆我的应用程序时似乎使用了这个选项,即使我的ProGuard配置文件不包含这个选项:-optimizationpasses5-dontusemixedcaseclassnames-dontskipnonpubliclibraryc