對於gradle 不是太熟悉
輸出apk 後發覺
之前在eclipse 設定Proguard
用dex2jax 反編譯apk 之後 還是可以看到 Log.d 程式碼
可以註解掉 程式中所有的 Log.d , Log.i 機制失效了
eclipse proguard 設定
1.project.properties 文件中
proguard.config=${sdk.dir}/tools/proguard/proguard-android-optimize.txt:proguard-project.txt
2.proguard-project.txt 文件
-assumenosideeffects class android.util.Log { *; }
研究一下 android studio Proguard 設定方式 如下
1.在gradle 文件中設置
build.gradle
buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }
2.需要新增 proguard-rules.pro 文件
將設定寫入
-assumenosideeffects class android.util.Log {*;}
試過還是不成功
參考Proguard 文件
http://proguard.sourceforge.net/manual/examples.html#logging
Removing logging code 寫法是
-assumenosideeffects class android.util.Log { public static boolean isLoggable(java.lang.String, int); public static int v(...); public static int i(...); public static int w(...); public static int d(...); public static int e(...); }試過還是無法
最後發現 要使用 proguard-android-optimize.txt
註解 Log 機制才會生效
搞了一大圈
buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } }
終於搞定
沒有留言:
張貼留言