我正在使用Android Studio v.3。
这是我的构建文件:
...
buildTypes {
debug {
minifyEnabled true
// Uses new built-in shrinker http://tools.android.com/tech-docs/new-build-system/built-in-shrinker
useProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
testProguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguardTest-rules.pro'
}
release {
minifyEnabled true
useProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
testProguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguardTest-rules.pro'
}
}
但是当我尝试发布版本时,出现以下错误:
org.gradle.execution.MultipleBuildFailures:构建完成,共1个 失败。在 org.gradle.initialization.DefaultGradleLauncher $ ExecuteTasks.run(DefaultGradleLauncher.java:370) 在 org.gradle.internal.operations.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:301) 在 org.gradle.internal.operations.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:293) 在 org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:175) 在 org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91) 在 org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31) 在 org.gradle.initialization.DefaultGradleLauncher.runTasks(DefaultGradleLauncher.java:231) 在 org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:158) 在 org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:133) 在 在com.android.builder.tasks.Job.runTask(Job.java:47)处 com.android.build.gradle.tasks.SimpleWorkQueue $ EmptyThreadContext.runTask(SimpleWorkQueue.java:41) 在com.android.builder.tasks.WorkQueue.run(WorkQueue.java:282)... 1 更多
出什么问题了?
答案 0 :(得分:2)
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
应用模块的build.gradle文件中的以下行表示proguard脚本需要应用于发布版本。它有两个文件:
proguard-rules.pro
。您需要在应用程序的根文件夹中创建此文件。proguard-rules.pro
包含您的应用程序专用的proguard脚本。您所有应用程序专用的proguard都应位于此文件中。例如,如果您从jjwt
库中使用,则必须将此行添加到proguard-rules.pro
文件中:
-keepattributes InnerClasses
-keep class io.jsonwebtoken.** { *; }
-keepnames class io.jsonwebtoken.* { *; }
-keepnames interface io.jsonwebtoken.* { *; }
-keep class org.bouncycastle.** { *; }
-keepnames class org.bouncycastle.** { *; }
-dontwarn org.bouncycastle.**