问题标签 [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.
android - Proguarding Google Play Services 7.+ 导致 com.google.android.gms.internal.zzig:找不到引用的方法 'boolean isAttachedToWindow()'
我有一个接近 65K 方法计数限制的应用程序。我目前正在使用 Proguard 没有混淆
去除其依赖项中未使用的方法:
但是, $ ./gradlew assemble 给出以下错误:
以前有没有人解决过这个问题?提前致谢。
android - 使用 Gradle 和 ProGuard 构建的 Android:“输出 jar 必须在输入 jar 之后指定,否则将为空”
我正在使用 Gradle 创建具有不同风格的构建。直到现在它一直运行得很好,直到我想启用Proguard
. 我启用minifyEnabled
了我的发布版本,现在我有一个异常说:
" Caused by: org.gradle.internal.UncheckedException: java.io.IOException: The output jar [.../app/build/intermediates/multi-dex/dev/release/componentClasses.jar] must be specified after an input jar, or it will be empty.
"
有谁知道是什么导致了这个异常?我基本上想在发布我的应用程序之前启用 ProGuard。下面是我的 Gradle 文件。
ProGuard 规则文件。
这是 proguard-android 文件。这是 Android SDK 的默认设置。
java - 带有重复 Zip 输入错误的 Proguard
当我应用proguard,然后在控制台中,得到以下错误。请解决我的问题。
在应用 progaurd 时解决重复的 zip 输入错误。
控制台错误:
注意:有 157 个重复的类定义。
有人帮我解决这个proguard问题吗?我在谷歌搜索了很多,但仍然找不到任何合适的解决方案。提前致谢。
android - 具有 Google Cloud Messaging 连接的 App Engine 后端无法使用 proguard 构建发布版本
我有一个使用 GCM 的 android 应用程序和一个谷歌应用程序引擎中的应用程序后端。在调试模式下一切正常。在我的 IntentService“RegistrationIntentService”中,我得到了令牌调用
我将它传递给应用引擎后端
如果生成签名的 APK 禁用 proguard,它也可以正常工作
但是如果我生成 APK 启用 proguard 我可以获得令牌(注册 id),但我不能将它存储在云中。android应用程序日志告诉我
我的 proguard 文件是默认文件“proguard-android.txt”。
我该如何解决这个问题?
android - Android设计支持库proguard规则
一直在尝试查找有关新设计支持库工作通过 proguard 所需规则的一些信息。我找不到任何关于它的信息。
最终使用了这些规则:
这些规则似乎有效,但我不确定是否有更好的规则,或者它是否适用于设计支持库中的所有类
android - Proguard 优化
我读了 10 遍 proguard 文档,但我真的不明白一件事:如果我把
优化将被禁用,但如果我想要一个完整的优化,我只需要删除
或者我必须写这个?
我可以省略吗?
谢谢你的帮助。
android - Proguard - 也使用模块中的 proguard 文件
我的项目 build.gradle 如下所示:
我的androKnife
模块确实有它自己的 proguard 文件。我怎样才能让我的主项目也使用这个文件?
如果我编译一个项目,是否有某种方法可以自动合并所有模块的所有 proguard 文件?模块是否可以通过另一种方式指定它的 proguard 规则并且项目可以继承它?
android - 为什么我们必须从 ProGuard 混淆中排除库?
我知道规则是,如果我们希望 ProGuard 正常工作,我们应该从 ProGuard 混淆中排除(例如,不混淆)库。这就是所有教程停止的地方。
在引擎盖下,这是什么原因?是不是因为它没有和我们项目一样的包名?我知道这是强制性的,因为当我忘记从 ProGuard 混淆中排除此类库时,我遇到了可怕的故事。
这条规则是否适用于我们自己的图书馆项目?它们也有不同的包名,但是虽然公共项目不需要被混淆,但我们自己的库确实必须被混淆。
显然,我对 ProGuard 的了解很全面,无法制定高质量的混淆计划,因为我上面提出的问题并没有给我清晰易懂的答案。
android - 在 Android Studio 中使用 ProGuard 时我无法构建应用程序
我使用的是 Android Studio 的最新版本,并且我在.Android Studio
编辑Build.gradle
这样的内容:
但是当启动构建项目时,会出现这样的错误
警告图片:
我怎样才能解决这个问题?
java - Proguard 配置使用改造改造
我的应用程序在调试中运行正常,但是在创建要发布的 apk 时,出现以下错误。
这是 MapActivity.java:103
这是我构建的 proguard 文件,用于搜索我得到的错误、改造站点和其他。
有什么提示吗?