關於Android Studio打包混淆以及上傳mapping檔案

來源:互聯網
上載者:User

標籤:

關於android Studio打包混淆以及上傳mapping檔案

轉載請註明出處: 
http://blog.csdn.net/u014163726?viewmode=contents 
本文出自Wrh的部落格

打包

android studio的打包很簡單 

然後如果已經有keystore的一路next下去,如果沒有的可能需要先建立keystore,最後我們就會得到一個apk檔案

混淆

現在網上關於反編譯的部落格很多了,我在此就不多做介紹了,放上個傳送門傳送門

那麼我們已經知道了反編譯是如此的簡單,我們總不希望自己辛苦寫的代碼被如此輕易的反編譯走,而且這樣有可能對公司的伺服器留下被攻擊的隱患,那麼我們就可以使用混淆來保護我們所寫的代碼 
Android studio混淆和Eclipse差不多是大同小異的。 

名稱 作用
minifyEnabled 是否開啟混淆
shrinkResources 去除無用的resource檔案
proguardFiles getDefaultProguardFile 載入混淆設定檔

如果按照預設的混淆規則很有可能你的程式會報錯,因為混淆了一些方法所以程式運行期間無法找到該方法。所以我們應該自訂一些規則在proguard-rules.pro中

以下模板資訊來源於網上

指定代碼的壓縮層級 
-optimizationpasses 5 
包明不混合大小寫 
-dontusemixedcaseclassnames 
不去忽略非公用的庫類 
-dontskipnonpubliclibraryclasses 
最佳化 不最佳化輸入的類檔案 
-dontoptimize 
預校正 
-dontpreverify 
混淆時是否記錄日誌 
-verbose 
混淆時所採用的演算法 
-optimizations !code/simplification/arithmetic,!field/,!class/merging/ 
保護註解 
-keepattributes Annotation 
保持哪些類不被混淆 
-keep public class * extends android.app.Fragment 
-keep public class * extends android.app.Activity 
-keep public class * extends android.app.Application 
-keep public class * extends android.app.Service 
-keep public class * extends android.content.BroadcastReceiver 
-keep public class * extends android.content.ContentProvider 
-keep public class * extends android.app.backup.BackupAgentHelper 
-keep public class * extends android.preference.Preference 
-keep public class com.android.vending.licensing.ILicensingService 
如果有引用v4包可以添加下面這行 
-keep public class * extends android.support.v4.app.Fragment 
忽略警告 
-ignorewarning 
記錄產生的日誌資料,gradle build時在本項目根目錄輸出 
apk 包內所有 class 的內部結構 
-dump class_files.txt 
未混淆的類和成員 
-printseeds seeds.txt 
列出從 apk 中刪除的代碼 
-printusage unused.txt 
混淆前後的映射 
-printmapping mapping.txt

mapping檔案

mapping.txt 
列出了原始的類,方法和欄位名與混淆後代碼間的映射。這個檔案很重要,當你從release版本中收到一個bug報告時,可以用它來翻譯被混淆的代碼。

mapping目錄在 \app\build\outputs\mapping\release

測試


OK,Bye

關於Android Studio打包混淆以及上傳mapping檔案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.