我创建了一个新的空项目,并尝试使用proguard签名的apk文件。我的gradle文件是这样的:
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.example.goldpc.testproguard2"
minSdkVersion 15
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled true
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
}
但是当我尝试发布时,我收到一条错误消息:
错误:任务':app:proguardRelease'执行失败。
java.net.URISyntaxException:索引2处不透明部分的非法字符:f:\ Android \ sdk \ platforms \ android-21 \ android.jar
Project仅为测试而创建 - 它意味着标准的“Hello World”项目。我试图将compileSdkVersion
从21更改为19,但它再次崩溃。当我禁用proguard
时,我可以创建签名的apk文件。但我需要在启用proguard的情况下使用它。
答案 0 :(得分:1)
非常有趣,但我认为我意外地找到了解决方案。当我在Windows 8中构建项目及其系统语言土耳其语时,我收到此错误。然后今天我在我的mac中安装android studio然后当我尝试在没有ProGuard的情况下构建项目时,android studio会出现语言错误然后我在网络JDK 7上搜索会导致系统语言非英语时出错。然后我将我的计算机系统语言改为英语,它很可能在ProGuard的两台机器上运行,所有错误都消失了。