使用最新的Android Studio并更新了所有平台(OsX):
Build.gradle:
android {
compileSdkVersion 26
defaultConfig {
applicationId "com.xxxxxxlxxxxxx.apps.firebase"
minSdkVersion 16
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support:design:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
implementation 'com.firebase:firebase-jobdispatcher:0.8.5'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
Proguard-rules.pro:
-keep public class OpenSource
您可以看到启用了proguard,并且还给出了仅保留OpenSource
类的规则。仍然当我建立其apk /签署apk并在apk文件上使用以下命令:
很高兴收到您的建议。谢谢。
答案 0 :(得分:2)
在Android Studio中启用ProGuard。以下是如何在Android Studio中启用默认ProGuard的示例。
1)转到应用程序的for commit in $(git log --all --author="email-address" --pretty=format:"%h");
do
git format-patch $commit -1
done
文件
2)启用保护者build.gradle
和minifyEnabled true
3)启用useProguard true
可以通过缩小资源来减小APK的大小。
4)shrinkResources true
以启用默认值。如果要使用自己的proguard文件,请使用以下规则。
proguardFiles getDefaultProguardFile('proguard-android.txt')
答案 1 :(得分:0)
较新的gradle插件版本不使用proguard。而是使用R8编译器。
在构建项目时,使用Android Gradle插件3.4.0或 更高,该插件不再使用ProGuard来执行编译时 代码优化。相反,该插件可与R8编译器一起使用,以 处理以下编译时任务:
https://developer.android.com/studio/build/shrink-code
如果要使用proguard(在发行版本中),请在gradle.properties中添加以下内容
android.enableR8=false
并在build.gradle中使用以下内容。
buildTypes {
release {
debuggable false
useProguard true
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}