Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android 代碼混淆導致問題,快速定位

android 代碼混淆導致問題,快速定位

編輯:關於Android編程

代碼混淆導致問題,快速定位

在代碼混淆打包時,屏蔽了用到的第三方庫,以及常規的android混淆屏蔽,但生成的apk,運行還是會崩潰。事出必有因,後來分析找到原因是使用greendao自動生成的java-gen下package中的內容沒有屏蔽代碼混淆,導致存儲數據庫時,報*a(SourceFile:) NullPointerException *
混淆打包apk,運行崩潰 總結如下:

我們在打包時,debug版本沒問題,但混淆後release版本有時會出現異常崩潰,
比如:a(SourceFile:) NullPointerException

針對這種情況,可以通過抓UncaughtExceptionHandler崩潰日志或者第三方比如雲測工具查看崩潰的原因。在androidstudio下還有一種更好的方式。

在androidstudio中可以設置debug下也混淆,通過android log直觀的、快速的定位問題所在
設置如下

signingConfigs {
            release {

            }

            debug{

            }
   }

}

    buildTypes {
        release {
            // 不顯示Log
            buildConfigField "boolean", "LOG_DEBUG", "false"
            //開啟代碼混淆
            minifyEnabled true
            // 移除無用的resource文件
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release  //使用上述簽名信息

         }
        }
        debug { www.2cto.com
            //開啟代碼混淆
            minifyEnabled true
            // 移除無用的resource文件
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.debug
        }
    }

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved