編輯:Android編程入門
android studio的打包很簡單
然後如果已經有keystore的一路next下去,如果沒有的可能需要先創建keystore,最後我們就會得到一個apk文件
現在網上關於反編譯的博客很多了,我在此就不多做介紹了,放上個傳送門傳送門
那麼我們已經知道了反編譯是如此的簡單,我們總不希望自己辛苦寫的代碼被如此輕易的反編譯走,而且這樣有可能對公司的服務器留下被攻擊的隱患,那麼我們就可以使用混淆來保護我們所寫的代碼
Android studio混淆和Eclipse差不多是大同小異的。
如果按照默認的混淆規則很有可能你的程序會報錯,因為混淆了一些方法所以程序運行期間無法找到該方法。所以我們應該自定義一些規則在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.txt
列出了原始的類,方法和字段名與混淆後代碼間的映射。這個文件很重要,當你從release版本中收到一個bug報告時,可以用它來翻譯被混淆的代碼。
mapping目錄在 \app\build\outputs\mapping\release
OK,Bye
Android 開發環境搭建首先,你可以在以下的操作系統開始 Android 應用程序開發:Microsoft Windows XP 或更高版本。帶有英特
Android Fragment的生命周期和Activity類似,實際可能會涉及到數據傳遞,onSaveInstanceState
Android 概述什麼是 Android?Android 是一個開源的,基於 Linux 的移動設備操作系統,如智能手機和平板電腦。Android 是由
現在的換膚基本都是切換主題了,畢竟md是主流。先說說切換主題的思路:事先在theme資源文件中准備好各種主流的主題樣式。寫一個工具類,具體功能:sharePreferen