问题标签 [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 - UserTimeline 回调不会在启用 proguard 的情况下返回
我正在使用TweetTimelineListAdapter
fromFabric
来显示推文列表。这在禁用 proguard 时效果很好,但是当我启用它时,我的UserTimeline
对象停止在其回调中返回任何成功或失败。
我的日志中没有错误或异常。单步执行代码显示访客登录成功,并且发送了推文请求,但从未收到任何响应。
这是我获取推文的方式:
这是 Fabric 文档中推荐的我的 proguard 配置文件以及我的一些补充:
android - ProGuard 警告:无法写入资源(重复的 zip 条目)
首先我知道这个问题已经存在于stackoverflow中,但我无法解决它,虽然我尝试了不使用-injar、使用packagingOptions等的建议
我知道该版本会起作用,但我喜欢干净的构建。当我生成签名的 apk 时。清理项目后,我得到了这些错误:
有时代替 joda-time-2.8.1.jar 有 commons-collections4-4.0.jar(相同的 .readme、licence、notice)警告。
我尝试使用 PackagingOptions 排除那些,但它不起作用。
这是我的模块的 build.gradle
还有我的 proguard-rules.pro 文件
提前致谢。
编辑:根据可能的重复警告的要求(Proguard 警告“无法写入资源 [META-INF/MANIFEST.MF](重复的 zip 条目)”)。问这个问题的用户说他正在使用多个模块(而不是一个)并且没有发布任何文件(由于敏感数据),所以我不知道它是否相同。还尝试了第一个答案中的所有可能选项,但都没有奏效。其他答案也不起作用(除了 -dontwarn 选项,出于明显的原因我不会使用它)。
java - Proguard混淆导致神秘错误
我正在构建一个使用 Proguard 混淆的发布 apk。我添加了前两个规则来帮助我解码 logcat 可能吐出的任何错误。
应用程序崩溃的错误如下:
前两条规则有助于向我显示实际的行号,但我无法弄清楚“eba”和“eb”在暗示什么。任何帮助都感激不尽。
编辑:
使用 ReTrace 工具后,我收到以下信息:
android - LEADBOLT ads proguard 错误行 1
我在我使用 Proguard 的 android 应用程序中集成了 LEADBOLT 广告。当我导出 apk 时,会发生以下错误。我在这里发布控制台错误和 Proguard-project.text
我在我的 android 应用程序中包含 AdColony,现在我正在尝试使用 proguard 导出我的应用程序。我在这里和这里找到了 AdColony 的配置。我试图将它们单独并一起包含到 proguard.cfg 中,但它不起作用。
控制台错误
Proguard 文件代码
android - 注意:配置保留入口点 `XXX`,但不保留 Android Studio 中的描述符类 'xxx'
minifyEnabled
在 Android Studio v1.1.0 中启用时出现以下错误
课程是:
proguard-rules.pro是默认的:
错误是:
如何解决编译错误?
android - 在 proguard 之后运行 espresso 测试
我正在寻找一种在 proguard 运行后运行我的 espresso-tests 的方法——这应该是一个配置错误的 proguard 的安全网(只是在将 butterknife 更新到 7.0 并忘记更新 proguard 配置之后有了这个)
android - 是否可以避免创建 proguard/dump.txt 输出文件?
我对 proguard 的 dump.txt 文件输出有疑问。我希望那个 proguard 不生成那个文件。
我在一个巨大的android项目中使用proguard,配置如下:
- 忽略警告
- 不混淆
我使用 dontobfuscate 是因为我想在 logcat 中查看异常详细信息。
我使用 ignorewarnings 是因为我有很多警告,因为这个巨大的 android 项目具有以下项目结构:
- 项目 1:Launcher(它引用了两个库项目:MyLibrary 项目和 Google PLay Services)
- 项目 2:Google Play 服务
- 项目 3:我的图书馆
MyLibrary Project 有很多被引用的 jars 和框架。所以我在 Launcher 项目上收到了很多 proguard 警告,因此我在 proguard 配置文件中添加了 -ignorewarnings。
为什么我的 Launcher 项目 proguard 文件夹中有一个 100MBytes 的dumb.txt 文件?我怎样才能避免这个文件生成?
谢谢
android - 带有 ProGuard 的 Google Play 服务和支持 V4... 有问题吗?
我最近使用 Google Play 服务和支持 V4 最新版本库将 proguard 添加到一个大型项目中。
我没有在 proguard 配置文件中添加任何关于这些库的内容,我只是添加了这个:
现在我注意到在 proguard 输出文件 usage.txt 中(您可以看到 proguard 删除的所有代码)中有很多来自 google play services 和 android support v4 的代码。
我检查了官方文档,如果您使用 proguard,我没有发现任何关于为 Support v4 和 google play 服务添加例外的信息,我刚刚发现:
注意:ProGuard 指令包含在 Play 服务客户端库中以保留所需的类。Gradle 的 Android 插件会自动将 ProGuard 配置文件附加到 AAR (Android ARchive) 包中,并将该包附加到您的 ProGuard 配置中。在项目创建期间,Android Studio 会自动创建 ProGuard 配置文件和 build.gradle 属性以供 ProGuard 使用。要将 ProGuard 与 Android Studio 结合使用,您必须在 build.gradle buildTypes 中启用 ProGuard 设置。有关详细信息,请参阅 ProGuard 指南。
但问题是我没有使用 Android Studio 编译,我使用 ant 和 eclipse 从命令行编译,我没有使用 gradle,所以我不确定是否必须在 proguard 配置文件中添加一些东西,我可以'在官方文档中找不到任何关于此的内容。
如果我不在这些库的 proguard 配置中添加一些东西,我将来会遇到问题吗?
android - 有没有办法为我的 Android 应用程序创建 Proguard 设置?
我的 android 项目准备好了 6 个外部库,现在我想为我的应用程序自动生成 proguard。
是否可以生成 proguard 文件以及包含的所有库?
这是我的图书馆:
- android-浮动操作按钮
- android-support-v7-appcompat
- 卡片视图
- 谷歌播放服务
- 回收站视图
- 凌空抽射
这是我的 proguard_project.txt 文件:
这些是我的控制台错误:
android - 如何提高安卓应用程序的整体性能?
当我试图减少我的 android 应用程序并对其进行优化时,我会寻找每一种可能性来做到这一点。这是我发现的:
- 避免创建不必要的对象
- 更喜欢静态而不是虚拟
- 对常量使用静态 final
- 避免使用内部 Getter/Setter
- 增强的 For 循环语法等
- 尽可能使用局部变量而不是公共类字段。
- 使用 final 关键字来暗示一个值是常量
- 对类和方法定义等使用 final 关键字。
C.通过将侦听器附加到活动或片段来代替使用view.setOnClickListener(new View.OnClickListener...)
、使用
、。view.setOnClickListener(this)
D. http://www.vogella.com/tutorials/AndroidApplicationOptimization/article.html
E. http://developer.sonymobile.com/2012/01/31/tips-for-reducing-apk-file-size/
- 删除调试信息。
F. http://hsc.com/Blog/Best-Practices-For-Memory-Optimization-on-Android-1
- 使用优化的数据容器
- 使用 Proguard 和 Zipalign
G. http://ernelljava.blogspot.se/2012/04/do-not-create-objects.html
- 不要过度使用 String,使用 StringBuilder 来处理 String。
H. https://github.com/futurice/android-best-practices
是否有任何其他提示可以帮助我优化我的应用程序?