對於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'
}
}
終於搞定
沒有留言:
張貼留言