Sean's Note: 11月 2015
Sean's Note
2015年11月12日 星期四
How to check ProGuard obfuscation has worked?
用 Android Studio build 完 APK 檔之後,
在 C:\{Project}\{Application Project}\build\outputs\mapping\release 下會生成四個檔案:
dump.txt
描述了 APK 檔裡所有 class 檔案的架構。
mapping.txt
class, method, field 混淆前後的名稱。
seeds.txt
沒有被混淆的 class, method, field 名稱。
usage.txt
被 ProGuard 拿掉的 class, method, field。
How to use proguard for library project(module)?
發現如果在 application project 跟 library project 裡都有定義
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
就會有一堆 cannot find symbol class 的 errors。
解決的方法有兩種:
把 library project 的 proguard-rules.pro 裡的定義都搬到 application project 的 proguard-rules.pro,再把 library project 的 minifyEnabled 設為 false。
另一種就是把 library project 的 proguardFiles 改成 consumerProguardFiles 就行了 (minifyEnabled 也不須設定,minifyEnabled 是對應 proguardFiles 的)。
consumerProguardFiles 的定義是:
ProGuard rule files to be included in the published AAR.
These proguard rule files will then be used by any application project that consumes the AAR (if ProGuard is enabled).
This allows AAR to specify shrinking or obfuscation exclude rules.
This is only valid for Library project. This is ignored in Application project.
Ref:
http://stackoverflow.com/questions/30820915/android-studio-proguard-handling-in-multi-library-projects
http://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.BuildType.html
2015年11月6日 星期五
Python threads synchronization: Locks, RLocks, Semaphores, Conditions, Events and Queues
Good article:
http://www.laurentluce.com/posts/python-threads-synchronization-locks-rlocks-semaphores-conditions-events-and-queues/
2015年11月5日 星期四
How to access data/data folder in Android device without root?
透過 adb 指令可以備份資料到當前的目錄下:
adb backup -noapk com.your.packagename
裝置上就會跳出一個視窗問你要不要備份,並輸入密碼,建議是不要輸入密碼會比較方便。
另外,備份的檔案為壓縮過 .ab 檔,必須還得用 tool
Android Backup Extractor
解開,
然後再輸入以下指令解壓縮:
java -jar abe.jar unpack backup.ab backup.tar <password>
解完就可以看到 Preference 的 XML 檔案和 DB,
其他 Private Folder 的內容好像看不到。
較新的文章
較舊的文章
首頁
訂閱:
文章 (Atom)