proguard相关内容

在 ProGuard 优化期间删除未使用的字符串

我包含这个 ProGuard 配置,以便在我发布 Android 应用程序时去除调试日志语句: -assumenosideeffects class android.util.Log {公共静态 *** d(...);公共静态 *** v(...);} 这按预期工作—我可以从 ProGuard 日志和 Android 日志输出中看到,删除了诸如 Log.d("This is a debug s ..
发布时间:2021-11-27 20:33:46 移动开发

使用 proguard 删除日志调用

我正在尝试使用 proguard 删除我的所有日​​志:我在 proguard-project.txt 中输入了以下行: -assumenosideeffects class android.util.Log { *;} 我的 project.properties 看起来像这样: proguard.config=${sdk.dir}/tools/proguard/proguard-andro ..
发布时间:2021-11-27 20:33:29 移动开发

Android 上的 Firebase 需要什么 ProGuard 配置?

当为 Android 应用使用 Firebase SDK 时,我不断收到如下警告和错误(在 Eclipse 中): 警告...找不到引用的类...警告:有......对类或接口的未解析引用......您可能需要指定其他库 jar(使用“-libraryjars")... 遗憾的是,Firebase 没有关于其与 ProGuard 一起使用的任何官方文档. 在使用 ProGuard 进行混 ..
发布时间:2021-11-27 20:33:20 移动开发

使用proguard时如何保留/排除特定的包路径?

我想从 ProGuard 中排除一些文件路径.示例 com.myapp.customcomponents 我该怎么做?我讨厌为此目录中的每个自定义组件文件放置 -keep 标志. 我尝试了以下方法,但不起作用: -保留公共类 com.myapp.customcomponents.* 解决方案 您没有指定它不起作用的方式.您的配置保留指定包中所有公共类的名称: -保留公共类 co ..
发布时间:2021-11-27 20:33:13 移动开发

在 Eclipse for Android 中启用 ProGuard

ProGuard for Android 上的新文档说要在 default.properties 中添加一行项目主目录中的文件.但是,在打开此文件时,我在顶部阅读: # 这个文件是Android Tools 自动生成的.# 不要修改此文件——您的更改将被删除! 我错过了什么吗? 另外,有没有办法只为 Eclipse 的生产构建启用 ProGuard(即导出成品时)? 解决方案 只 ..
发布时间:2021-11-27 20:33:04 Java开发

如何在构建 Android 应用程序的发布版本之前删除所有调试日志记录调用?

根据 Google 的说法,在将我的 Android 应用发布到 Google Play 之前,我必须“在源代码中停用对 Log 方法的任何调用".摘自发布清单: 在构建要发布的应用程序之前,请确保停用日志记录并禁用调试选项.您可以通过在源文件中删除对 Log 方法的调用来停用日志记录. 我的开源项目很大,每次发布时手动完成很痛苦.此外,删除 Log 行可能很棘手,例如: if(条件 ..
发布时间:2021-11-27 20:32:52 移动开发

如何让 Proguard 忽略外部库?

我想使用 Proguard 主要是为了混淆. 我的问题是我有三个库,Twitter4J 和两个路标库.当我尝试创建已签名的 APK 时,这些库会导致错误.为了解决这个问题,我将以下内容放在 proguard.config 文件中... -dontwarn org.apache.commons.codec.binary.**-不要警告 org.slf4j.**-dontwarn com.su ..
发布时间:2021-11-27 18:30:12 移动开发

图书馆项目是否需要 proguard.cfg?

假设我需要对应用程序项目和它所依赖的库项目应用相同的规则,我是否需要将 proguard.cfg 的内容从应用程序复制到库项目? 换句话说,应用程序的 proguard.cfg 是“接管"了它所依赖的所有库项目,还是我必须为每个库项目明确指定规则? 解决方案 库项目本身不运行 ProGuard,因此它们不使用任何配置. 应用程序项目混淆了整个代码库,包括任何引用的库,因此它们需 ..
发布时间:2021-11-27 18:30:05 移动开发

仅在运行测试时出现 DexIndexOverflowException

我可以在调试和发布变体中成功构建和运行我的 Android 应用程序,没有任何问题.然而,当我尝试运行我的新单元测试时(我以前从未有过它们),我遇到了可怕的 DexIndexOverflowException.我怀疑 ProGuard 没有与我的单元测试一起运行,但它与我的正常调试和发布 buildTypes 一起运行. 我需要做什么才能在我的单元测试运行配置中运行 ProGuard?我搜索 ..

在混淆代码中隐藏字符串

我只是使用 proguard 混淆了我的 Android 代码,然后对其进行了反编译.有很多字符串我真的很想隐藏起来以免被窥探.当我反编译我的代码时,每个人都可以看到字符串……并更改.其中一个字符串是我的许可服务器的 URL,它们实际上可以更改 URL 以指向假服务器(因为我将向公众发布服务器代码).隐藏此类信息的最佳方法是什么? 另外,我注意到 R 类字符串都是随机数,但我在反编译代码中找 ..
发布时间:2021-11-25 16:10:46 Java开发

R8 更改“受保护"抽象类的方法“公共"没有 -allowaccessmodification 标志

我有 R8 的问题.在 MyLib 中,我有公共抽象 MyLibsClass,其中我有保护方法.MyChildClass 从 MyApp 中的 MyLibsClass 扩展而来,在 R8 的魔法之后,MyLibsClass 中的所有受保护的方法(包括受保护的抽象)都被改变了进入公共的,当然在 MyChildClass 我得到 “试图分配较弱的访问权限(“受保护");是 'public') 问题,因 ..
发布时间:2021-11-21 21:32:34 移动开发

发布时的应用程序崩溃,而调试时不会

我正在使用 Android Studio 开发应用程序,当我从 调试 切换到 发布 构建变体时,它开始崩溃.在调试时它根本不会发生任何事情.真正的问题是我找不到真正的错误在哪里,因为每个引用都被重命名了. 您是否遇到过这样的错误,这种错误只发生在发布? 打印的堆栈是这样的: 04-11 08:28:42.756 5997-5997/com.korcholis.clothio E/Ac ..
发布时间:2021-11-21 21:21:40 移动开发

Android ProGuard 混淆库:保持类不起作用

简介:我在 AS 1 项目中有 2 个模型: 带有一些“公共 API 类"的 Android 库项目 Android APP依赖于上述库(库模块在依赖列表中) 任务:我想混淆我的库项目,因为我想将它公开为公共 SDK 但保护我的代码...... 我做了什么:所以我制定了自定义 ProGuard 规则: -dontshrink-不要优化-不要预验证- 保持类 com.org.m ..
发布时间:2021-11-21 21:09:30 移动开发

如何修复这些 proguard 警告

我在我的项目中使用第三方库,从那时起 proguard 向我发出这些警告,我无法与该库相关,这是我正在使用的库:棒棒糖. 我收到的警告 警告:android.databinding.DataBindingUtil:找不到引用的类android.databinding.DataBinderMapper警告:android.databinding.ViewDataBinding:找不到引用的类 ..
发布时间:2021-11-21 21:02:19 移动开发