欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android?debug包運行正常release包崩潰的解決辦法

 更新時間:2024年04月21日 14:46:10   作者:碼農君  
這篇文章主要介紹了Android?debug包運行正常,release包崩潰解決辦法,文中通過代碼示例介紹的非常詳細,對大家解決問題有一定的幫助,需要的朋友可以參考下

1. 添加配置調試release包,這樣的抓取的log日志,這種方式可以知道具體錯誤,(無法精準到是哪一行)

/在 AndroidManifest.xml 文件的 application 標簽中
添加以下配置,即可在release包下的日志了/

    android:debuggable="true"
    tools:ignore="HardcodedDebugMode"

2.debug下gson解析一切正常,但是發(fā)了release版本的時候,發(fā)現(xiàn)解析出來的數(shù)據(jù)全部是null.

原因:因為release版本下用了混淆,而gson解析需要的javabean,我忘了忽略混淆了,導致被混淆后,無法正正常解析.

解決:把javabean加入避免混淆。

要忽略的javeBean是靜態(tài)內部類。

寫法:寫上類的絕對路徑,類名 ,$ ,再就是內部類名稱。

-keep class com.example.app.Mybean$StaticTest{ *; }

如果是正常的javeBean就直接寫上類的絕對路徑,類名即可;

-keep class com.example.app.MyClass{ *; }

如果想要忽略某個包下的所有javaBean。就直接寫上包的路徑即可;

-keep class com.example.app.bean.** { *; }

3.release模式下app啟動greendao,發(fā)現(xiàn)null異常:

簡單搜了下,指向了是greendao混淆導致的問題,但是檢查混淆配置,已經有了混淆的配置:

-keep class org.greenrobot.greendao.**{*;}
-keepclassmembers class * extends org.greenrobot.greendao.AbstractDao {
public static java.lang.String TABLENAME;
}
-keep class **$Properties

如果是 ArrayIndexOutOfBoundsException 需要將混淆配置調整為

-keep class org.greenrobot.greendao.**{*;}
-keep public class * extends org.greenrobot.greendao.AbstractDao
-keepclassmembers class * extends org.greenrobot.greendao.AbstractDao {
    public static java.lang.String TABLENAME;
}
-keep class **$Properties
-keepclassmembers class **$Properties {*;}

#optional
-keep class net.sqlcipher.database.**{*;}
-keep public interface net.sqlcipher.database.**
-dontwarn net.sqlcipher.database.**
-dontwarn org.greenrobot.greendao.**

到此這篇關于Android debug包運行正常release包崩潰的解決辦法的文章就介紹到這了,更多相關Android release包崩潰內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論