问题标签 [android-proguard]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jar - proguard - 欺骗 zip 条目(将 facebook 解析 UI 库升级到 v4 后)
---已解决:从 :app:build.gradle 中删除了 2 行---
此处的 lib注释可以解释为“您需要在 proj.root.build.gradle 中使用这 2 条语句。这不是真的。我不得不删除这些语句,以免从 proguard 收到 'dupe zip' 错误。
- 解决了 -
将parseUI 库从 v3升级到 v4 进行得很顺利,直到我尝试在 gradle“assembleRelease”任务中运行 proguard。
错误:
:proguardRelease 失败
FAILURE:构建失败并出现异常。
我检查了 proguard 常见问题解答中的“dupe zip”......我试图弄清楚依赖关系树如何处理该库中的./libs/Parse-1.9.1.jar的重复。
即时消息卡住
构建.gradle...
“发布”的依赖关系图...
在 project.root 下,唯一的 jar 文件是:
前卫配置...
java - Proguard 保留类和包的名称,但混淆字段和方法
Proguard 保留类和包的名称,但混淆字段和方法。在我的映射文件中,我看到所有包和文件名都保持不变,但我们不需要它。我的 Proguard 的文件:
与此同时,我们具有相同配置的另一个项目工作正常。重命名包和类的所有名称。欢迎任何建议。
android - 保留 android 库的类时 Proguard 出现问题
我想使用 Proguard 进行应用。我正在com.melnykov.fab.FloatingActionButton
用作库,所以我想排除它。
我在我的build.gradle
:
在proguard-rules.pro
文件中,我添加了以下行:
但是这个库被混淆了,在我的应用程序的 apk 中,实际代码和混淆代码都存在。
有人可以告诉我我是否遗漏了什么proguard-rules.pro
吗?
java - ProGuard 包名称缩短
我正在开发一个 Android 项目,当我打包它以进行分发时,它会自动通过 ProGuard 运行。
使用 Android 默认设置,ProGuard 将类和包名称混淆为大多数单个字母,但保留包层次结构。所以,例如,如果我有一个像
com.example.foo.bar.something.else.my.class.net
包含来类Blah
,ProGuard 会将其变成类似
a.b.b.c.a.c.a.a.b.a
其中最后一个a
代表类名Blah
。
是否有一些开关告诉 ProGuard 将整个包层次结构折叠成一个标识符,即将上面的例子变成类似dw.a
wheredw
代表的东西a.b.b.c.a.c.a.a.b
?
android - 从 Google Play 商店下载签名的 APK 崩溃
我在我的应用程序中使用Facebook SDK
for ,当我在我的真实设备中使用或安装Login with Facebook
时,应用程序可以完美运行。但是,当我在 Play Store 上上传相同的签名 APK 并下载并运行它时,它会崩溃并显示以下错误日志。unsigned APK
signed APK
我已经尝试在我的progaurd-project.txt
文件中添加以下代码。
我的project.property文件是:
我的proguard-project.txt是:
错误日志是:
我已经检查了我的发布Keyhash
并在 Facebook 上添加了它。
已经尝试过的解决方案:
java - 使用 ProGuard 混淆私有字段
我在带有 Gradle 1.2.3 的 AndroidStudio 1.2.1.1 中使用 ProGuard。
我的 Gradle 的发布版本配置如下:
我希望混淆类的私有字段。
到目前为止,这是我的 proguard 配置文件(经过多次尝试):
androdd
但在从 AndroidGuard反编译后,我最终得到:
我知道这种混淆的使用是有限的,但我想googleApiClient
被 ProGuard 重命名。怎么做?
这是refcard。
有没有办法做相反的事情-keepclassmembernames
?
android - Proguard、HttpClient 和 SSLPeerUnverifiedException
我想在我的应用程序中使用 ProGuard。我使用 org.apache.http.impl.client.DefaultHttpClient 向服务器发送请求。没有 Proguard 它工作得很好,但是当我打开 ProGuard 时,我可以构建应用程序,但是在运行时当我运行应用程序时,我收到以下异常:
我不明白问题出在哪里。我禁用了收缩和优化,但没有帮助。此外,我尝试仅启用收缩选项,即禁用了混淆和优化,但它也没有帮助。
为了构建我的应用程序,我使用 maven。我的 pom 文件的一部分:
proguard-android.txt 是 SDK 文件夹中的标准文件
我的 proguard.cfg 文件:
android - Android Studio 更新后 ProGuard 无法正常工作
由于我将 Android Studio 更新到版本1.2.1.1
,我遇到了以下问题:
每当我构建应用程序的发布版本/构建变体时,我都会在我作为库模块包含在项目中NoClassDefFoundError
的Adjust 库中获得一个。
轨迹:
我的代码的相应部分:
minifyEnabled false;
当我在我的 中关闭 Proguard 时 build.gradle
,错误消失了。
我的 proguard-rules.pro 看起来像这样:
这些 Proguard 规则可能看起来有点奇怪,因为它们只做一件事:混淆android.support.v7.internal.view.menu
包中的类。此过程是针对三星设备上已知的 Android 支持库问题的解决方法。
更令人困惑的是,NoClassDefFoundError
只有运行 Android < 的设备才会出现5.0
。
关于可能是什么原因或如何解决这个问题的任何想法?
android - 使用 Proguard 时 getDeclaredAnnotation 崩溃
我有一个带有 10 个库项目和一个应用程序项目的 android 应用程序。2 个库项目使用 jackson 库作为依赖项。这是他们两个的 build.gradle 的片段
现在我的应用程序崩溃,出现以下异常
在崩溃之前,我可以在日志中看到以下几行
我尝试在没有使用 proguard 的情况下构建应用程序
然后它工作正常。但这不是一个选择,因为我需要对我的应用程序进行混淆。我在我的 proguard 文件中尝试了以下内容。
但它仍然会崩溃。你能告诉我如何避免这种崩溃吗?
android - Android Proguard 警告:无法写入资源(重复的 zip 条目)
我启用了 proguard 并得到:
这是什么意思?我应该排除类似这里的东西吗?