5

如果我不在我的项目上运行 pro-guard,一切都很好,但如果我运行 pro-guard 并在设备中安装 .apk,我会遇到错误。我尝试在proguard-android.txt文件中添加以下行

-keep public class twitter4j.conf.PropertyConfigurationFactory

-dontwarn twitter4j.**

但这没有任何区别。

我正在使用proguard-android.txt来自的默认文件SDK

并将其设置project.properties如下

proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt

我查看了链接以解决相同的问题,但无法理解,并且谷歌搜索对我没有太大帮助。

那么,有人可以告诉我这里有什么问题吗?

提前致谢

编辑 :

删除限定符后出现 Logcat 错误public

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.b.a.h.<init>(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.<init>(Unknown Source)
04-18 12:05:25.425: E/AndroidRuntime(16405):    at twitter4j.aq.<init>(Unknown Source)
04-18 12:05:25.425: E/AndroidRuntime(16405):    at twitter4j.al.<init>(Unknown Source)
04-18 12:05:25.425: E/AndroidRuntime(16405):    at twitter4j.ao.a(Unknown Source)
04-18 12:05:25.425: E/AndroidRuntime(16405):    at twitter4j.ao.a(Unknown Source)
04-18 12:05:25.425: E/AndroidRuntime(16405):    at com.mobinius.creativepad.c.f.<init>(Unknown Source)
04-18 12:05:25.425: E/AndroidRuntime(16405):    at com.mobinius.creativepad.c.a.<init>(Unknown Source)
04-18 12:05:25.425: E/AndroidRuntime(16405):    at com.mobinius.creativepad.android.OpenScreenActivity.e(Unknown Source)
04-18 12:05:25.425: E/AndroidRuntime(16405):    at com.mobinius.creativepad.android.OpenScreenActivity.onClick(Unknown Source)
04-18 12:05:25.425: E/AndroidRuntime(16405):    at android.view.View.performClick(View.java:4232)
04-18 12:05:25.425: E/AndroidRuntime(16405):    at android.view.View$PerformClick.run(View.java:17298)
04-18 12:05:25.425: E/AndroidRuntime(16405):    at android.os.Handler.handleCallback(Handler.java:615)
04-18 12:05:25.425: E/AndroidRuntime(16405):    at android.os.Handler.dispatchMessage(Handler.java:92)
04-18 12:05:25.425: E/AndroidRuntime(16405):    at android.os.Looper.loop(Looper.java:137)
04-18 12:05:25.425: E/AndroidRuntime(16405):    at android.app.ActivityThread.main(ActivityThread.java:4921)
04-18 12:05:25.425: E/AndroidRuntime(16405):    at java.lang.reflect.Method.invokeNative(Native Method)
04-18 12:05:25.425: E/AndroidRuntime(16405):    at java.lang.reflect.Method.invoke(Method.java:511)
04-18 12:05:25.425: E/AndroidRuntime(16405):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
04-18 12:05:25.425: E/AndroidRuntime(16405):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
04-18 12:05:25.425: E/AndroidRuntime(16405):    at dalvik.system.NativeStart.main(Native Method)
04-18 12:05:25.425: E/AndroidRuntime(16405): Caused by: java.lang.AssertionError: java.lang.NoSuchMethodException: <init> [interface twitter4j.b.a.d]
04-18 12:05:25.425: E/AndroidRuntime(16405):    at twitter4j.b.a.e.<clinit>(Unknown Source)
04-18 12:05:25.425: E/AndroidRuntime(16405):    ... 22 more
04-18 12:05:25.425: E/AndroidRuntime(16405): Caused by: java.lang.NoSuchMethodException: <init> [interface twitter4j.b.a.d]
04-18 12:05:25.425: E/AndroidRuntime(16405):    at java.lang.Class.getConstructorOrMethod(Class.java:460)
04-18 12:05:25.425: E/AndroidRuntime(16405):    at java.lang.Class.getConstructor(Class.java:431)
04-18 12:05:25.425: E/AndroidRuntime(16405): 
4

1 回答 1

5

该类不是公开的,因此您应该删除 -keep 选项中的“public”关键字,否则模板将不匹配。

于 2013-04-18T00:28:12.823 回答