Proguard和mixpanel问题
Posted
技术标签:
【中文标题】Proguard和mixpanel问题【英文标题】:Proguard and mixpanel issue 【发布时间】:2016-01-20 02:14:55 【问题描述】:在启用 proguard 时,我收到以下警告
**警告:com.mixpanel.android.mpmetrics.Tweaks:找不到引用的类 com.mixpanel.android.mpmetrics.Tweaks$TweakType 警告:有 1 个未解析的类或接口引用。 您可能需要添加缺少的库 jar 或更新它们的版本。 如果您的代码在没有丢失类的情况下工作正常,您可以抑制 带有“-dontwarn”选项的警告。 (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass) :app:proguardStageRelease 失败 错误:任务 ':app:proguardStageRelease' 执行失败。
java.io.IOException: 请先纠正上述警告。**
logcat 放在 -dontwarn com.mixpanel.**
java.lang.NullPointerException
at com.leadsquared.app.LeadsActivity.onCreateOptionsMenu(Unknown Source)
at android.app.Activity.onCreatePanelMenu(Activity.java:2546)
at android.support.v4.app.o.onCreatePanelMenu(Unknown Source)
at android.support.v7.internal.view.k.onCreatePanelMenu(Unknown Source)
at android.support.v7.app.aj.onCreatePanelMenu(Unknown Source)
at android.support.v7.internal.view.k.onCreatePanelMenu(Unknown Source)
at android.support.v7.internal.a.b.g(Unknown Source)
at android.support.v7.internal.a.c.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5086)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)
proguard-rules.pro 文件是这样的
-dontshrink
-dontoptimize
-dontpreverify
-dontwarn okio.**
-dontwarn com.mixpanel.**
-keep class com.squareup.okhttp.** *;
-dontwarn org.xmlpull.v1.**
-dontwarn com.squareup.**
-keep interface com.squareup.okhttp.** *;
-keepclasseswithmembers class *
void onClick*(...);
-keepclasseswithmembers class *
*** *Callback(...);
感谢任何帮助
【问题讨论】:
也许看看这个并尝试答案中列出的proguard设置。 ***.com/questions/25663713/… 在我的情况下例外是不同的,所以它不起作用 这可能是收缩的问题。在 proguard 配置中尝试此选项:“-dontshrink”。 我已经尝试过了,但是当没有提供令牌来获取数据时会出现错误 @MarcelTricolici 在使用这个我得到这个没有找到用于权限撤销的内容提供者:file:///data/local/tmp/mypackage 【参考方案1】:将此添加到您的 proguard 配置中:
-dontwarn com.mixpanel.**
另见here
【讨论】:
一放这个我的应用程序就崩溃了 你会发布 logcat 输出吗? 我已经发布了 logcat 输出 请你试试如果你设置-keep com.mixpanel.**
会发生什么?
是的,我试过了,放上这个,加载数据时出错以上是关于Proguard和mixpanel问题的主要内容,如果未能解决你的问题,请参考以下文章