我想在发布apk后混淆我项目的所有文件夹名称。我看过很多相关问题,但都没有用。我试过-flattenpackagehierarchy'myobfuscated'但它会创建另一个myobfuscate文件,而不是重命名所有文件夹和类。我还使用了-repackageclasses''但找不到解决方案。请帮助我。proguard.pro文件看起来像:--ignorewarnings-dontpreverify-allowaccessmodification-optimizations!code/simplification/arithmetic-keepattributes*Annotati
我想知道它是否会起作用...在我的应用程序中,我有一个要序列化到文件的对象,然后我用ProGuard混淆了代码应用进入市场。然后我想发布新版本的应用程序。我也一样。用户运行应用程序更新。问题是-使用第一个版本的应用程序序列化的对象是否在第二个版本中正确反序列化?如果是-为什么? 最佳答案 我可以找到几种机制(serialPersistentFields、ObjectInputStream#readFields),使自定义序列化依赖于字段名称成为可能——假设默认机制还没有。ProGuarddocumentation有一些示例配置展示了
我有一个Android应用程序,我只是想用混淆器混淆(因此,我有-dontoptimize-dontshrink-dontpreverify标志)。当我使用Proguard构建时,proguard本身不会抛出任何错误,但是dex会抛出以下异常:Exceptioninthread"pool-1-thread-1"com.android.dx.cf.code.SimException:com.android.dx.rop.cst.CstMethodRefcannotbecasttocom.android.dx.rop.cst.CstInterfaceMethodRefatcom.andro
考虑这个proguard语句:-keeppublicclass*extendsandroid.support.design.widget.CoordinatorLayout$Behavior{*;}在这个语句中添加{*;是什么意思?}是什么意思?它是否保留所有方法?所有领域?还是全类? 最佳答案 它在ProGuard中用作通配符,以指示类中的所有成员和方法。来源:ProGuardmanual,Stackoverflow 关于android-的意思{*;}在混淆器中,我们在StackOve
Google建议开发人员可能希望混淆字节码:http://android-developers.blogspot.com/2010/09/proguard-android-and-licensing-server.html我按照Google的说明获得了一个经过混淆的Android应用程序,乍一看,它似乎可以正常工作。但是引入了一些奇怪的错误,这些错误不在未混淆的应用程序中。我一直关闭ProGuard选项以获取此配置:-dontoptimize-不要缩水-dontusemixedcaseclassnames-不要跳过非公共(public)图书馆类(class)-不要预先验证-冗长错误仍然
我的Java包中有以下Enum类publicenumUIType{NATIVE,WEB;}我已经应用了以下混淆器配置来保留这个枚举类-keepclassmembersenum*{publicstatic**[]values();publicstatic**valueOf(java.lang.String);}-keeppublicenumandroid.ui.UIType{publicstatic**[]values();publicstatic**valueOf(java.lang.String);}但是当我混淆我的jar文件时,proguard保留了UIType枚举类但删除了两个N
我在我的应用程序上运行了proguard工具来混淆。我确实知道,当混淆发生时,proguard会根据它认为合适的方式缩小和优化应用程序。因此,在混淆应用程序后正确打开,然后当我尝试登录时它崩溃了。我能得到的最好的是这个日志,因为我已经连接了设备。10-0311:12:47.384:E/AndroidRuntime(15058):FATALEXCEPTION:AsyncTask#110-0311:12:47.384:E/AndroidRuntime(15058):java.lang.RuntimeException:AnerroroccuredwhileexecutingdoInBack
我正在尝试使用ProGuard混淆Android应用程序。我在这里上课publicclassBookimplementsDBbinded还有一个泛型方法privatevoidstoreDBObjects(ArrayListdbObjects)调用该方法抛出java.lang.ClassCastException:java.util.LinkedHashMapafterobfuscation。我应该在proguard.properties中写入什么来解决这个问题? 最佳答案 我刚刚遇到这个问题并通过在-keepattributesPr
我正在尝试使用混淆器,因为它更容易从在eclipse中。我已经导出了我的应用程序的签名版本导致测试崩溃的故意错误。在我得到堆栈之后跟踪并运行retrace-verbosemapping.txtstack.txt,而不是给我错误发生的地方,它给了我错误所在的类发生并列出一个方法,其中一个方法是异常发生。所有这些我都使用了官方指南,并将logcat堆栈跟踪捕获编辑为与开发控制台格式相同的格式。任何人都知道问题可能是什么? 最佳答案 如果您的混淆代码不包含行号信息,则由于名称重载,将混淆方法名称(如“a”)映射到原始方法名称不再明确可行。
我该如何着手创建混淆jar文件?截至目前,我可以轻松地将我的Androidlib项目导出到jar并使用它。如何混淆jar文件?我的最终目标是允许其他人在他们的项目中使用我的lib.jar。我只想尽可能地保护代码...:) 最佳答案 事实证明这是可能的,而且并不难。经过3小时的尝试,我终于弄明白了!Android在下面提供了一个方便的proguardGUI:android-sdk\tools\proguard使用GUI,您只需选择in.jar和out.jar。比您必须选择android.jar并删除选定的默认rt.jar。完成后,您必