2017-09-02 3 views
0

J'ai un problème avec mon projet Android. Le problème semble se produire après la mise à jour classpath 'com.android.tools.build:gradle:3.0.0-beta2'-classpath 'com.android.tools.build:gradle:3.0.0-beta4' et l'emballage gradle gradle-4.1-rc-1-all.zip-gradle-4.1-all.zip

Multidex est déjà activée et fonctionnait comme prévu auparavant.

Quand je lance l'application sur l'AVD, il n'y a pas de problème du tout, mais en essayant de assemble je la sortie suivante

AGPBI: {"kind":"error","text":"Error converting bytecode to dex:\nCause: com.android.dex.DexException: Multiple dex files define Landroid/support/coreui/R$string;","sources":[{}],"original":"UNEXPECTED TOP-LEVEL EXCEPTION:\ncom.android.dex.DexException: Multiple dex files define Landroid/support/coreui/R$string;\n","tool":"Dex"} 
AGPBI: {"kind":"error","text":"com.android.dex.DexException: Multiple dex files define Landroid/support/coreui/R$string;","sources":[{}]} 
AGPBI: {"kind":"error","text":"\tat com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:661)","sources":[{}]} 
AGPBI: {"kind":"error","text":"\tat com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:616)","sources":[{}]} 
AGPBI: {"kind":"error","text":"\tat com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:598)","sources":[{}]} 
AGPBI: {"kind":"error","text":"\tat com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)","sources":[{}]} 
AGPBI: {"kind":"error","text":"\tat com.android.dx.merge.DexMerger.merge(DexMerger.java:198)","sources":[{}]} 
AGPBI: {"kind":"error","text":"\tat com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:61)","sources":[{}]} 
AGPBI: {"kind":"error","text":"\tat com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:36)","sources":[{}]} 
AGPBI: {"kind":"error","text":"\tat java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)","sources":[{}]} 
AGPBI: {"kind":"error","text":"\tat java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)","sources":[{}]} 
AGPBI: {"kind":"error","text":"\tat java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)","sources":[{}]} 
AGPBI: {"kind":"error","text":"\tat java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)","sources":[{}]} 
AGPBI: {"kind":"error","text":"\tat java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)","sources":[{}]} 

:app:transformDexArchiveWithDexMergerForGithubConfigDebug FAILED 
:app:transformDexArchiveWithDexMergerForGithubConfigDebug (Thread[Task worker for ':' Thread 2,5,main]) completed. Took 1.204 secs. 

FAILURE: Build failed with an exception. 

* What went wrong: 
Execution failed for task ':app:transformDexArchiveWithDexMergerForGithubConfigDebug'. 
> com.android.build.api.transform.TransformException: com.android.dex.DexException: Multiple dex files define Landroid/support/coreui/R$string; 

Je TRIE pour vérifier les dépendances, et une seule version de base -ui (support-core-ui: 26.0.1) est utilisé (par supportv4, recyclerview et vector-drawable).

Je dois rechercher l'erreur spécifique, mais je n'ai pas trouvé comment résoudre ce problème.

Un moyen de résoudre ce problème?

Edit: (résolu)

Après tout, il n'a pas du tout lié à Gradle. Cela était dû à un problème de glissement. The issue is solved by adding @aar to the dependency.

Répondre

0

Activer simplement multidex comme suit:

android {  
    defaultConfig { 
    // Enabling multidex support. 
    multiDexEnabled true 
    } 
} 
dependencies { 
    compile 'com.android.support:multidex:1.0.0' 
} 

Créer une classe comme celui-ci

public class Multi_Dex extends Application { 
@Override 
protected void attachBaseContext(Context base) { 
    super.attachBaseContext(base); 
    MultiDex.install(this); 
} 
} 

maintenant dans votre fichier manifest ajouter cette

<application 
    android:name=".Multi_Dex" 
    android:allowBackup="true" 
    android:icon="@drawable/logo" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
+0

Salut, Multidex est activé, et travaillait avant. –

+0

juste essayer une fois ** clear-rebuild-run ** votre projet –

+0

Déjà fait cela. Cela n'a rien changé. Toujours en cours d'exécution n'a jamais cessé de fonctionner. –