Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在build.gradle中引用系统ProGuard二进制文件?_Android_Gradle_Release_Proguard_Gradle Release Plugin - Fatal编程技术网

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

Android 如何在build.gradle中引用系统ProGuard二进制文件?,android,gradle,release,proguard,gradle-release-plugin,Android,Gradle,Release,Proguard,Gradle Release Plugin,我注意到运行gradleassemblererelease调用了一个过时的ProGuard版本,从shell输出中可以看出: $gradle assembleerelease 依赖于包装来定义主要工件的扩展已经实现\ 已弃用,计划在Gradle 2.0中删除 :Foobar:preBuild-UP-TO-DATE :Foobar:preReleaseBuild-TO-DATE :Foobar:preDebugBuild-TO-DATE :Foobar:PrepareCommandroidSupp

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

$gradle assembleerelease
依赖于包装来定义主要工件的扩展已经实现\
已弃用,计划在Gradle 2.0中删除
:Foobar:preBuild-UP-TO-DATE
:Foobar:preReleaseBuild-TO-DATE
:Foobar:preDebugBuild-TO-DATE
:Foobar:PrepareCommandroidSupportAppCompatV71900库最新
:Foobar:prepareComgoogleandroidgmsplayservices3136最新库
:Foobar:prepareReleaseDependencies
:Foobar:compileReleaseAidl最新
:Foobar:compileReleaseRenderscript最新
:Foobar:generateReleaseBuildConfig最新
:Foobar:mergeReleaseAssets最新
:Foobar:mergeReleaseResources最新
:Foobar:ProcessReleaseMifest最新
:Foobar:processReleaseResources最新
:Foobar:generateReleaseSources最新
:Foobar:compilerRelease最新
:Foobar:proguardRelease
ProGuard,版本4.9
输出似乎是最新的
:Foobar:dex发布最新版本
:Foobar:processReleaseJavaRes最新
:Foobar:package租赁最新版本
:Foobar:assembleerelease最新
建设成功
总时间:15.703秒
我在我的
build.gradle中使用以下配置:

buildscript{
存储库{
mavenCentral()
}
依赖关系{
classpath'com.android.tools.build:gradle:0.6.+'
}
}
应用插件:“android”
存储库{
mavenCentral()
}
安卓{
编译DK19版
buildToolsVersion“19.0.0”
默认配置{
明斯克版本8
targetSdkVersion 19
}
建筑类型{
释放{
runProguard true
proguard文件“proguard project.txt”
}
}
}
依赖关系{
编译'com.android.support:appcompat-v7:19.0.0'
编译'com.android.support:support-v4:19.0.0'
编译'com.google.android.gms:play services:3.1.36'
}
如何将gradle指向更新版本的ProGuard,该版本可以从
路径
获得,例如
/usr/local/bin/ProGuard

另一种解决方案是参考所需版本,如下所示:

buildscript{
存储库{
mavenCentral()
}
依赖关系{
classpath'com.android.tools.build:gradle:0.6.+'
类路径'net.sf.proguard:proguard gradle:4.10'
}
}
...

您的设置是什么?

官方的
Proguard
文档显示了如何在
build.gradle
中指向Proguard。看

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

buildscript {
    repositories {
        flatDir dirs: '/usr/local/java/proguard/lib'
    }
    dependencies {
        classpath ':proguard'
    }
}
我认为这可能会导致android SDK附带的proguard版本出现问题。还没试过