Android Studio ProGuard minifyEnabled true导致非法字符错误

时间:2015-03-07 15:08:08

标签: android-studio proguard illegal-characters

我创建了一个新的空项目,并尝试使用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的情况下使用它。

1 个答案:

答案 0 :(得分:1)

非常有趣,但我认为我意外地找到了解决方案。当我在Windows 8中构建项目及其系统语言土耳其语时,我收到此错误。然后今天我在我的mac中安装android studio然后当我尝试在没有ProGuard的情况下构建项目时,android studio会出现语言错误然后我在网络JDK 7上搜索会导致系统语言非英语时出错。然后我将我的计算机系统语言改为英语,它很可能在ProGuard的两台机器上运行,所有错误都消失了。