【发布时间】:2016-07-07 01:09:03
【问题描述】:
我尝试使用自定义 proguard 文件从代码中删除所有 Log 的方法调用以进行发布构建。所以我写了我的自定义 proguard 文件(取自网络):
proguard-rules-release.txt
-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(...);
}
添加到build.grade:
android {
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.txt', 'proguard-rules-release.txt'
}
}
}
但是当我通过~/app/build/intermediates/classes/release 中的反编译器读取 Android Studio 中的*.class 文件时,我发现它包含所有调用以及没有 proguard 文件。
我做错了什么?
添加
我什至反编译了apk文件。现在,我确定我的 proguard 文件不起作用。
我重写了build.gradle 所以:
release {
minifyEnabled false
zipAlignEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),
'proguard-rules.pro'
}
并在反编译后生成签名的apk文件......但它都一样有日志输出。我什么都不懂……
【问题讨论】:
标签: android-studio android-gradle-plugin android-proguard