gpt4 book ai didi

android - 如何在 build.gradle 中引用系统 ProGuard 二进制文件?

转载 作者:行者123 更新时间:2023-11-29 21:29:41 25 4
gpt4 key购买 nike

我注意到运行 gradle assembleRelease 会调用一个过时的 ProGuard 版本,从 shell 输出中可以看出:

$ gradle assembleRelease
Relying on packaging to define the extension of the main artifact has been \
deprecated and is scheduled to be removed in Gradle 2.0
:Foobar:preBuild UP-TO-DATE
:Foobar:preReleaseBuild UP-TO-DATE
:Foobar:preDebugBuild UP-TO-DATE
:Foobar:prepareComAndroidSupportAppcompatV71900Library UP-TO-DATE
:Foobar:prepareComGoogleAndroidGmsPlayServices3136Library UP-TO-DATE
:Foobar:prepareReleaseDependencies
:Foobar:compileReleaseAidl UP-TO-DATE
:Foobar:compileReleaseRenderscript UP-TO-DATE
:Foobar:generateReleaseBuildConfig UP-TO-DATE
:Foobar:mergeReleaseAssets UP-TO-DATE
:Foobar:mergeReleaseResources UP-TO-DATE
:Foobar:processReleaseManifest UP-TO-DATE
:Foobar:processReleaseResources UP-TO-DATE
:Foobar:generateReleaseSources UP-TO-DATE
:Foobar:compileRelease UP-TO-DATE
:Foobar:proguardRelease
ProGuard, version 4.9
The output seems up to date
:Foobar:dexRelease UP-TO-DATE
:Foobar:processReleaseJavaRes UP-TO-DATE
:Foobar:packageRelease UP-TO-DATE
:Foobar:assembleRelease UP-TO-DATE

BUILD SUCCESSFUL

Total time: 15.703 secs

我在我的 build.gradle 中使用了以下配置:

buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.6.+'
}
}

apply plugin: 'android'

repositories {
mavenCentral()
}

android {
compileSdkVersion 19
buildToolsVersion "19.0.0"

defaultConfig {
minSdkVersion 8
targetSdkVersion 19
}

buildTypes {
release {
runProguard true
proguardFile 'proguard-project.txt'
}
}
}

dependencies {
compile 'com.android.support:appcompat-v7:19.0.0'
compile 'com.android.support:support-v4:19.0.0'
compile 'com.google.android.gms:play-services:3.1.36'
}

我如何将 gradle 指向更新版本的 ProGuard,它可以从 PATH 获得,例如/usr/local/bin/proguard?

另一种解决方案是按如下方式引用所需的版本:

buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.6.+'
classpath 'net.sf.proguard:proguard-gradle:4.10'
}
}
...

你的设置是什么?

最佳答案

官方 Proguard 文档展示了如何在 build.gradle 中指向 proguard。参见 here

根据 Proguard 手册,您可以执行以下操作以指向混淆器二进制文件,

buildscript {
repositories {
flatDir dirs: '/usr/local/java/proguard/lib'
}
dependencies {
classpath ':proguard'
}
}

我认为这可能会导致 android SDK 附带的 proguard 版本出现问题。还没试过!!

关于android - 如何在 build.gradle 中引用系统 ProGuard 二进制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19771160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com