proguard相关内容
大多数应用开发者会将一些第三方库集成到他们的应用中.如果是为了访问服务,例如 Dropbox 或 YouTube,或者是为了记录崩溃.第三方库和服务的数量惊人.大多数库和服务都是通过某种方式与服务进行身份验证来集成的,大多数情况下,这是通过 API 密钥进行的.出于安全目的,服务通常会生成公共密钥和私有密钥,通常也称为秘密密钥.不幸的是,为了连接到服务,必须使用此私钥进行身份验证,因此可能是应用程
..
我有一个可运行的 java jar 文件,我们称之为 masterProgram.jar.在这个 masterProgram.jar 中,如果我使用 7Zip 或 WinRAR 提取它,还有其他 jars,我们称之为 lib1.jar, lib2.jar. Proguard 设法混淆了 master jar,但是当我查看 lib jar 时却没有.正因为如此,程序 (masterProgra
..
当我尝试使用 dexguard 插件代替 android 插件时(dexguard 插件扩展 android),我的 gradle build process 因以下错误而失败: $ ./gradlew assembleDebugFAILURE:构建失败,出现异常.* 在哪里:构建文件“/projectRoot/app/build.gradle"行:1* 什么地方出了错:评估项目“:projec
..
我有一个可运行的 java jar 文件,我们称之为 masterProgram.jar.在这个 masterProgram.jar 中,如果我使用 7Zip 或 WinRAR 提取它,还有其他 jars,我们称之为 lib1.jar, lib2.jar. Proguard 设法混淆了 master jar,但是当我查看 lib jar 时却没有.正因为如此,程序 (masterProgra
..
我想在 Ant 中调用 任务,并需要将路径传递给各种 JAR 文件,例如相当于: -injars/some/path/jar1;/some other path/jar2 问题是,其中一些路径可能包含空格或特殊字符,它们必须像proguard 手册: -injars/some/path/jar1;"/some other path/jar2" 引
..
你可以说: -keepclassmembers class sun.** {公共保护*;} 但我不排除包/默认访问方法:( void myMethod {} 解决方案 您可以像这样添加另一个 -keepclassmembers: -keepclassmembers class com.mycompany.MyClass {!public !protected !private *;}
..
我正在尝试为我的 Android 项目设置 proguard.我们在代码中使用了一些 netty 库,我想使用 Proguard 完全删除我知道没有使用的代码. 有什么方法可以告诉 proguard 假设包(或类)从未使用过,因此不应包含在输出 JAR 中?请注意,我不是谈论从混淆中排除某些代码(这是 -keep 配置选项所做的),我谈论的是完全删除 输出中的一个类. 编辑:正如下面的
..
我有一个简单的 java 项目,它引用了两 (2) 个库 jar 文件.想要集成 ProGuard. 这是我当前的 build.xml: 示例库
..
错误: 构建失败C:\workspace\projectName\add-proguard-release.xml:35: 需要类路径分隔符 ';'参数号 1 中的“Files\eclipse\android-sdk-windows\platforms\android-3\android.jar"之前 我完全意识到我的问题是我在 c:\program files\eclipse 目录中有 ec
..
我正在尝试使用 Ant 和 ProGuard 构建 Android 版本.我在 project.properties 中取消了以下行的注释,尽管所述文件中的注释指出您不应对其进行修改 ;): proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt 混淆时,我得到以下注释: [pro
..
我正在使用 Ant 任务使用 ProGuard 混淆库. 当它们具有特定注释 (@ApiAll) 时,我将保留特定的类名及其方法名,并且我请求保留 InnerClasses 属性:
..
在我的 project.properties 文件中有一个属性 proguard.config,当我运行 ant 时它会运行 proguard.以下所有情况都会导致 proguard 运行 proguard.configproguard.config=proguard.config=proguard.cfg 属性文件中是否有打开/关闭 proguard 的方法? 否则我将需要编写一个脚
..
任何人都可以分享适用于 Android 的示例/简单混淆 ANT 任务吗?前提是我有完整的 APK,我只需要通过 *class hru Proguard 然后准备 *.dex 来构建 APK 解决方案 我找到了解决方案: 获取 Proguard - 将 proguard.jar 复制到已知目录(例如 MyProject/proguard) 准备 proguard.cfg - 描述优
..
我想用自定义的 @Keep 注释来注释我的应用程序中的一些接口并配置 ProGuard 以便 不要混淆带注释的接口及其方法, 不要在实现类时混淆这些接口方法的实现. 我尝试过类似的东西 # 保留接口及其所有方法-保持接口@com.foo.bar.annotation.Keep * {;}# 实现保留接口的类-keep 类 * 实现@com.foo.bar.annotatio
..
我正在使用我自己的注释: @Retention(RetentionPolicy.RUNTIME)@Target({ElementType.METHOD, ElementType.TYPE})公共@interface Loggable { } 并使用 Proguard 进行混淆.我使用 -keepattributes *Annotation*在 Proguard 配置中保留注释. 在运行时
..
在 Android 上使用 Proguard 时,仅通过反射调用的方法(例如,在 onClick XML 属性中定义的回调)会被错误地剥离. 此问题的一个解决方案是添加每个受影响的类和方法到您的 proguard.cfg. 如何使用Java注解达到同样的效果? 我觉得这会使代码自我记录,并避免代码和 proguard.cfg 不同步.但是,Android 的 Proguard 似
..
我的项目中有两种类型的注释:Annotation1 和 Annotation2.两者都是运行时注释.所以,我的问题是如何只保留 Annotation1 并去除 Annotation2? 示例: class 测试 {@注解1@注解2字符串名称;} 我希望从所有字段中删除 Annotation2 并在任何地方保留 Annotation1. 我不知道这是否可行.我只知道如何使用以下方法保
..
我有一个应用程序使用 ActiveAndroid,它是一个依赖于注释的数据库 ORM 库. @Table(name="test")公共类 DatabaseItem 扩展了 ActiveRecordBase{公共数据库项(上下文上下文){超级(上下文);//TODO 自动生成的构造函数存根}@Column(名称=“计数器")公共整数计数器;} 我如何让 Proguard 与此配合得很好?目前,我
..
当我尝试在 android studio 1.5.1 中生成签名的 Apk 并完成有关此过程的对话框时,我遇到了此消息并且构建中止: 警告:com.squareup.picasso.OkHttpDownloader:找不到引用的类 com.squareup.okhttp.OkHttpClient警告:com.squareup.picasso.OkHttpDownloader:找不到引用的类 c
..
我了解 保持 ProGuard 的选项 可以与通配符一起使用以包含完整的命名空间.例如: -keepclassmembers class com.yourcompany.yourpackage.** {# 相关配置} 是否可以将相同的配置应用于多个命名空间而不必重复配置两次? 例如,是否可以同时包含 io. 和 com. 命名空间? -keepclassmembers class [c
..