Tag: proguard

Proguard谷歌游戏服务jar

我正试图用proguard混淆google play服务jar。 我尝试了两个版本的proguard配置文件。 第一个包含 -keep class ** { public protected *; } jar子不会混淆。 看起来不错。 第二个包含 -keep class com.** { public protected *; } 而且proguard删除了永恒。 我收到一个错误: Error: The output jar is empty. Did you specify the proper ‘-keep’ options? 为什么它是空的,因为主要的google play服务包是com.google.android.gms?

尽管“保持名字”,proguard并没有停止混淆方法名称

我有以下设置来保持类和类方法名称。 它适用于类,因此com.seleniumtests.**包和子包中的com.seleniumtests.**不会被混淆。 但是,尽管我选择了Keep names – .class method names复选框,但com.seleniumtests.**类中的方法仍然是模糊的。 我错过了任何配置吗?

apk创建的Proguard问题

好的,这让我疯狂了一天。 我主要是一个iOS人,所以我不太了解Proguard和东西。 我制作了一个包含Dropbox和Google Drive API的Android应用。 如果我通过Eclipse在手机上部署它,该应用程序工作得很好但是当我尝试导出用于apk文件生成的应用程序时,我在控制台上收到了一个令人讨厌的错误。 我的project.properties文件是这样的…… # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt:proguard-google-api-client.txt # Project target. target=android-17 android.library=false 错误对话框是这样的… PROJECT_FOLDER_NAME / proguard-project.txt不存在或不是常规文件 所以我编辑了我的project.properties并删除了proguard-project.txt部分。 现在在创建apk时我在控制台上遇到这些错误… [2013-05-15 18:48:28 – BackMyAppUp] Proguard returned with error code 1. See console [2013-05-15 18:48:28 – BackMyAppUp] Note: there were 367 […]

ProGuard混淆,java,Google Gson和通用集合 – 如何保留成员?

我有一个这样的课: public class MyClass { private Queue myQueue; } 我的问题是我无法让ProGuard在使用Google Gson序列化到json之后保留myQueue。 会发的是会员名称“myQueue”被序列化为“a”。 显然,反序列化会破坏。 以下是我尝试过的一些ProGuard配置。 -keepclassmembers class com.my.package.MyClass { #private java.util.Queue myQueue; #private java.util.Queue myQueue; private java.* myQueue; } 同 private java.util.Queue myQueue; …… ProGuard抱怨说这堂课不详。 消息是: 注意:配置引用未知类java.util.Queue’ 运用 private java.* myQueue; ….摆脱ProGuard警告,但是,正如我所说,成员myQueue没有保存在json输出中。 它被序列化为“a”。 其余的相关ProGuard配置如下: -renamesourcefileattribute SourceFile -keepattributes SourceFile,LineNumberTable -keepattributes *Annotation* #gson -keepattributes Signature -adaptresourcefilenames **.properties,**.gif,**.jpg,**.png,**.wav -adaptresourcefilecontents […]

在使用Protocol Buffers的项目中使用Proguard有什么特点?

我有一个使用Google Protocol Buffers的项目。 一旦我尝试使用ProGuard对其进行模糊处理,似乎protobuf会导致问题。 我将自己的所有类打包到mybuildedclasses.jar 。 Google代码打包到protbuf.jar mybuildedclasses.jar protobuf.jar other external jars 之后我试图混淆mybuildedclasses.jar 。 配置文件与此类似。 最终所有的jar子都装在另一个胖jar子里面。 我运行程序,一旦尝试发送消息,就会打印出这种exception。 Caused by: java.lang.RuntimeException: Generated message class “org.mypackage.messages.Control$MessageControlHandCard$Builder” missing method “getCardId”. at com.google.protobuf.GeneratedMessage.getMethodOrDie(GeneratedMessage. java:1366) at com.google.protobuf.GeneratedMessage.access$1(GeneratedMessage.java:1 361) at com.google.protobuf.GeneratedMessage$FieldAccessorTable$SingularField Accessor.(GeneratedMessage.java:1502) at com.google.protobuf.GeneratedMessage$FieldAccessorTable.(Genera tedMessage.java:1441) at org.mypackage.Control$1.assignDescriptors(SourceFile:32 20) at com.google.protobuf.Descriptors$FileDescriptor.internalBuildGenerated FileFrom(Descriptors.java:300) at org.evogame.common.messages.Control.(SourceFile:3278) … 60 more Caused by: java.lang.NoSuchMethodException: org.evogame.common.messages.Control$ MessageControlHandCard$Builder.getCardId() […]

Proguard破坏了我的清洁。 Gson和仿制药

我有一个从持久性加载信息的函数,我只是以一种非常简单的方式告诉它的类型。 该类称为SharedPreferencesHelper.kt因此它是一个真正的生活问题解决者: fun loadList(context: Context, fileName: String, key: String, defValue: ArrayList) : ArrayList { val gson = MyGsonDependency.getInstance() val json = getWithFileName(context, fileName).getString(key, gson.toJson(defValue)) return gson.fromJson(json, object : TypeToken<ArrayList>() {}.type) } 加载,例如,我只是做一个ArrayList : SharedPreferencesHelper.loadList( context, FILE_NAME, KEY, ArrayList()) 我发现的问题是当我运行Proguard并模糊我的代码时,每当我调用object : TypeToken<ArrayList>() {}.type我得到一个exception: Caused by: java.lang.AssertionError: illegal type variable reference at libcore.reflect.TypeVariableImpl.resolve(TypeVariableImpl.java:111) at libcore.reflect.TypeVariableImpl.getGenericDeclaration(TypeVariableImpl.java:125) at libcore.reflect.TypeVariableImpl.hashCode(TypeVariableImpl.java:47) […]

Proguard同时Butterknife库和其他警告

我的活动,片段,服务和BroadcastReceivers我想实现ProGuard,以保证课堂安全。 我在Proguard时遇到错误。 我该怎么写入文件? – > proguard-android.txt ve proguard-rules.pro 我写进了年级。 lintOptions { checkReleaseBuilds false // Or, if you prefer, you can continue to check for errors in release builds, // but continue the build even when errors are found: abortOnError false } buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } – Information:Gradle tasks […]

java ProGuard删除(收缩)未使用的类

假设我有这个Java应用程序: package com.site; public class MyAppBase {} package com.site.free; import com.site.MyAppBase; public class MyApp extends MyAppBase {} package com.site.pro; import com.site.MyAppBase; public class MyApp extends MyAppBase {} package com.site; public class Edition { public static final int FREE = 1; public static final int PRO = 2; private static final int EDITION = PRO; public […]

Proguard保留接口方法paramternames

我使用-keepparameternames但它没有响应接口。 接口的methond参数是proguard。 感谢您的帮助。

ClassNotFoundException:twitter4j.conf.PropertyConfigurationFactory:Android

如果我没有在我的项目上运行pro-guard,一切都很好但是如果我运行pro-guard并在设备中安装.apk,我就会遇到错误。 我尝试在proguard-android.txt文件中添加以下行 -keep public class twitter4j.conf.PropertyConfigurationFactory -dontwarn twitter4j.** 但它没有任何区别。 我正在使用SDK默认proguard-android.txt文件 并在project.properties设置它,如下所示 proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt 我看了这个链接同样的问题,但无法理解,谷歌搜索并没有帮助我。 那么,有人可以告诉我这里有什么问题吗? 提前致谢 编辑: 删除public限定符后出现Logcat错误: 04-18 12:05:25.425: E/AndroidRuntime(16405): FATAL EXCEPTION: main 04-18 12:05:25.425: E/AndroidRuntime(16405): java.lang.ExceptionInInitializerError 04-18 12:05:25.425: E/AndroidRuntime(16405): at twitter4j.bah(Unknown Source) 04-18 12:05:25.425: E/AndroidRuntime(16405): at twitter4j.ap.a(Unknown Source) 04-18 12:05:25.425: E/AndroidRuntime(16405): at twitter4j.ap.(Unknown Source) 04-18 12:05:25.425: E/AndroidRuntime(16405): at twitter4j.aq.(Unknown Source) 04-18 12:05:25.425: E/AndroidRuntime(16405): at […]