Ich erstelle ein Spiel auf Buildbox. Ich exportiere das Projekt, kann das Spiel aber nicht auf Android Studio starten. Mein Problem ist, dass ich die Anwendung nicht ausführen oder eine APK-Datei erstellen kann
jemand kann mir bitte helfen.
Der Fehler
Fehler: Ausführung fehlgeschlagen für Task ': app: transformClassesWithMultidexlistForDebug' . Java.io.IOException: Ich kann [C:\Users\youne\Desktop\Android2\app\build\intermediates\multi-dex\debug\componentClasses.jar] nicht schreiben (Kann [C:\Users\youne nicht lesen.) .gradle\caches\transforms-1\files-1.1\support-core-ui-25.2.0.aar\9adfc8649fc899fbc5e371e8bc1c399a\jars\classes.jar (;;;;;; **. class)] (Duplicate Zip-Eintrag) classes.jar: Android/support/v4/view/ViewPager $ 2.class]))
Ich benutze
Android Studio 3.0
Java-Version: Java (TM) SE-Laufzeitumgebung (Build 1.8.0_73-b02).
Gradle-Version: com.Android.tools.build:gradle: 4.1
Und ich habe Multidex aktiviert
In meiner App build.gradle-Datei:
Android {
compileSdkVersion 27
buildToolsVersion '27.0.1'
defaultConfig {
applicationId "com.drh.bird"
minSdkVersion 14
targetSdkVersion 23
aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false
compileOptions.encoding = 'ISO-8859-1'
multiDexEnabled = true
ndk {
moduleName "player_shared"
}
}
Android {
useLibrary 'org.Apache.http.legacy'
}
sourceSets {
main {
jni.srcDirs = []
}
}
buildTypes {}
Android {
defaultConfig {
multiDexEnabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile 'com.Android.support:multidex:1.0.1'
compile 'com.google.Android.gms:play-services:+'
compile files('libs/dagger-1.2.2.jar')
compile files('libs/javax.inject-1.jar')
compile files('libs/nineoldandroids-2.4.0.jar')
compile files('libs/support-v4-19.0.1.jar')
}
implementation 'com.Android.support:appcompat-v7:27.1.0'
implementation 'com.Android.support:design:27.1.0'
implementation 'com.Android.support:support-v4:27.1.0'
implementation 'com.Android.support:recyclerview-v7:27.1.0'
aktualisieren Sie Ihre gesamte Support-Bibliothek wie oben beschrieben auf 27.1.0, und entfernen Sie Duplikate
Sie versuchen, compile files('libs/support-v4-19.0.1.jar')
mit compileSdkVersion 27
zu verwenden. Die Support-Bibliothek sollte jedoch eine Hauptversion haben, die compileSdkVersion
entspricht.
Verwenden Sie stattdessen implementation "com.Android.support:support-v4:27.0.1"
Verwenden Sie niemals +
in der Version der Abhängigkeiten. Sie können Probleme bekommen, wenn die Abhängigkeit aktualisiert wurde
Dies liegt daran, dass Ihre Unterstützungsbibliothek in Konflikt steht. Sie sollten immer den gleichen Versionscode für compileSdkVersion
, buildToolsVersion
, targetSdkVersion
und support library
verwenden.
Sie sollten keine JAR-Datei mit verwenden
compile files('libs/support-v4-19.0.1.jar')
Stattdessen müssen Sie eine Unterstützungsbibliothek verwenden, die mit Ihrer compileSdkVersion
wie folgt übereinstimmt:
implementation 'com.Android.support:support-v4:27.1.0'
Sie müssen auch eine genaue Version des Wiedergabedienstes verwenden und sicherstellen, dass Sie eine bestimmte individuelle API verwenden. So nicht:
compile 'com.google.Android.gms:play-services:+'
Aber so etwas:
// if you're using only ads
implementation 'com.google.Android.gms:play-services-ads:12.0.0'
dadurch wird Ihre Methode klein, und Sie können den Multidex entfernen.
Am Ende sollte dein build.gradle so aussehen:
Android {
compileSdkVersion 27
buildToolsVersion '27.0.1'
defaultConfig {
applicationId "com.drh.bird"
minSdkVersion 14
targetSdkVersion 27
aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false
compileOptions.encoding = 'ISO-8859-1'
//multiDexEnabled = true
ndk {
moduleName "player_shared"
}
}
Android {
useLibrary 'org.Apache.http.legacy'
}
sourceSets {
main {
jni.srcDirs = []
}
}
buildTypes {}
Android {
defaultConfig {
//multiDexEnabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
//compile 'com.Android.support:multidex:1.0.1'
implementation 'com.google.Android.gms:play-services:play-services-ads:12.0.0'
implementation 'com.Android.support:support-v4:27.1.0'
compile files('libs/dagger-1.2.2.jar')
compile files('libs/javax.inject-1.jar')
compile files('libs/nineoldandroids-2.4.0.jar')
//compile files('libs/support-v4-19.0.1.jar')
}