2016-06-08 3 views
3

Ich versuche, den Jack-Toolchain in meinem Android-Projekt zu ermöglichen, indem Sie die Schritte in diesem Artikel https://developer.android.com/preview/j8-jack.html folgenden aber sobald ich hinzufügen„Kann nicht verschleierte Varianten testen, wenn sie mit Jack Kompilieren“ Fehlern, wenn sie mit Jack Toolchain Android App baut

android { 
    defaultConfig { 
     jackOptions { 
      enabled true 
     } 
    } 
} 

und laufen gradle clean, erhalte ich diesen Fehler sofort:

kann nicht verschleierten Varianten testen, wenn sie mit jack Kompilieren

Ich versuchte es mit einem sehr einfachen Android-Projekt und ich bekomme immer noch den gleichen Fehler. Dies ist ein Beispiel für eine gradle.build Datei:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.3" 

    defaultConfig { 
     applicationId "com.example.myapplication" 
     minSdkVersion 7 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
     jackOptions { 
      enabled true 
     } 
    } 
    buildTypes { 
     release { 
      minifyEnabled true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:23.4.0' 
    compile 'com.android.support:design:23.4.0' 
} 

Antwort

4

D'oh! Die Lösung war wirklich einfach. Offenbar Jack ist nicht kompatibel mit ProGuard und der Zeile:

release { 
    minifyEnabled true 
} 

ermöglicht ProGuard, da es nun „minify“ genannt wird. Schalten Sie es auf false behebt das Problem ... Ich sah nur nicht die Linie, weil es in einem anderen Abschnitt war ...

+0

so können Sie diese App im Play Store ohne prouard veröffentlichen? –

+1

Es stellt sich heraus, dass Jack dafür sorgt, dass ProGuard intern ausgeführt wird, also müssen wir nur das Flag "minifyEnabled" deaktivieren, damit ProGuard nicht zweimal ausgeführt wird. –

+0

also funktioniert die Option "shrinkResources"? –