我正在尝试使用Gradle发布我的Android应用程序.
一切正常,包括./gradlew clean build assembleRelease命令.
但是,只要我尝试使用proguard,Gradle就无法构建发布版本.
这是我得到的错误(堆栈跟踪激活):
...
:OSkin:validateDebugSigning
:OSkin:packageDebug
:OSkin:assembleDebug
:OSkin:prepareReleaseDependencies
:OSkin:compileReleaseAidl
:OSkin:generateReleaseBuildConfig
:OSkin:mergeReleaseAssets
:OSkin:compileReleaseRenderscript
:OSkin:mergeReleaseResources
:OSkin:processReleaseManifest
:OSkin:processReleaseResources
:OSkin:compileRelease UP-TO-DATE
:OSkin:proguardRelease
ProGuard, version 4.9
Reading input...
Reading program directory [/home/geantvert/workspace/OSkinProject/OSkin/build/classes/release]
:OSkin:proguardRelease FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':OSkin:proguardRelease'.
> Can't read [/home/geantvert/workspace/OSkinProject/OSkin/build/classes/release] (No such file or directory)
* Try:
Run with --info or --debug option to get more log output.
* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task …Run Code Online (Sandbox Code Playgroud) 在过去的几天里,我从Eclipse切换到了Android Studio,并且大部分工作都得到了解决.但是,当我生成签名的APK时,似乎ProGuard永远不会运行.
我正在使用Generate Signed APK向导,选择'Run ProGuard'并指定我的proguard.cfg作为配置文件.构建过程运行没有错误并生成功能apk,但apk比Eclipse生成的大65%.当我通过Android Studio的APK向导生成apk并且不选择'Run Proguard'时,生成的apk与应该在其上运行ProGuard的apk相同.在我的项目目录中的任何位置都没有生成mapping.txt,seeds.txt或usage.txt.我试过添加
buildTypes {
release {
runProguard true
proguardFile file('proguard.cfg')
proguardFile getDefaultProguardFile('project-android.txt')
}
}
Run Code Online (Sandbox Code Playgroud)
和我的build.gradle文件的变体,但也没有任何影响.
这是在Android Studio 0.2.0上发生的,尽管我在0.1.9上看到了相同的行为.我正在使用Windows 7.
谁能告诉我可能会发生什么?如果我能找到ProGuard应该生成的日志,我会很高兴.