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

來源:互聯網
上載者:User

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 {            //開啟代碼混淆            minifyEnabled true            // 移除無用的resource檔案            shrinkResources true            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'            signingConfig signingConfigs.debug        }    }

更多問題請關注 android開發遇到問題點滴

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.