1

J'essayais d'utiliser le Selenium WebDriver pour une application Android. (J'utilise le dernier AndroidStudio; v2.2)Compilation des bibliothèques externes de problème de compatibilité

J'ai suivi this guide donc dans l'application mon lib j'ai copié les fichiers jar (le zip téléchargé de Selenium WebDriver a un dossier nommé "libs", un jar nommé "client" -Incorporant-3.0.0-beta4-nodeps » et un DEPENDANCES et un fichier de licence [Je viens copié tous les pots dans le « dossier libs » et l'autre pot à l'extérieur])

Here's a screenshot with all the libs.

Voici ce le build.gradle (module : app)

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 24 
    buildToolsVersion "24.0.3" 
    defaultConfig { 
     applicationId "com.example.utente.downall" 
     minSdkVersion 14 
     targetSdkVersion 24 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
    packagingOptions{ 
     pickFirst("META-INF/LICENSE") 
     pickFirst("META-INF/DEPENDENCIES") 
    } 
} 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
     exclude group: 'com.android.support', module: 'support-annotations' 
    }) 
    compile 'com.android.support:appcompat-v7:24.2.1' 
    testCompile 'junit:junit:4.12' 
    compile files('libs/cglib-nodep-3.2.4.jar') 
    compile files('libs/client-combined-3.0.0-beta4-nodeps.jar') 
    compile files('libs/commons-codec-1.10.jar') 
    compile files('libs/commons-exec-1.3.jar') 
    compile files('libs/commons-logging-1.2.jar') 
    compile files('libs/gson-2.3.1.jar') 
    compile files('libs/guava-19.0.jar') 
    compile files('libs/hamcrest-core-1.3.jar') 
    compile files('libs/hamcrest-library-1.3.jar') 
    compile files('libs/httpclient-4.5.2.jar') 
    compile files('libs/httpcore-4.4.4.jar') 
    compile files('libs/httpmime-4.5.2.jar') 
    compile files('libs/jna-4.1.0.jar') 
    compile files('libs/jna-platform-4.1.0.jar') 
    compile files('libs/junit-4.12.jar') 
    compile files('libs/netty-3.5.7.Final.jar') 
    compile files('libs/phantomjsdriver-1.3.0.jar') 
} 

(Projet synched)

Pendant l'exécution "run" J'ai eu cette erreur:

Error:Error converting bytecode to dex: 
Cause: Dex cannot parse version 52 byte code. 
This is caused by library dependencies that have been compiled using Java 8 or above. 
If you are using the 'java' gradle plugin in a library submodule add 
targetCompatibility = '1.7' 
sourceCompatibility = '1.7' 
to that submodule's build.gradle file. 
Error:1 error; aborting 
Error:Execution failed for task ':app:transformClassesWithDexForDebug'. 
> com.android.build.api.transform.TransformException: java.lang.RuntimeException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: Return code 1 for dex process 

Je suis allé à la build.gradle (projet: DownAll) et j'ajouté ces cibles/compatibilité source, donc voici ce qui est comme:

Screnshot

Je nettoyais le projet, il rebuilded, re-synched mais toujours le même Erreur. Que dois-je faire?

Si cela peut aider, voici mes variables d'environnement, si elle peut aider:

JAVA_HOME

C: \ Program Files \ Java \ jdk1.8.0_102

ANDROID_HOME

C : \ Utilisateurs \ Utente \ AppData \ Local \ Android \ sdk; C: \ Utilisateurs \ Utente \ AppData \ Local \ Android \ sdk \ outils; C: \ Utilisateurs \ Utente \ AppData \ Local \ Android \ sdk \ platform-tools

(dossier AppData est caché)

EDIT:

UP

+0

Avez-vous essayé d'ajouter les deux instructions suggérées? 'targetCompatibility = '1.7' sourceCompatibility = '1.7'' – BR89

+0

@ BR89 comme vous pouvez le voir dans la deuxième capture d'écran, oui, je l'ai fait (je l'ai fait dans le projet build.gradle) – DISSENNATORE

+0

Ah désolé, je didn' Je vois ça. - En utilisant JDK 1.8..Je suis curieux de savoir ce qui se passerait si vous essayez d'utiliser 1.7 ou moins – BR89

Répondre

0

Je viens confronté exactement la même erreur et compris que com.google.guava:guava:21.0 était à l'origine du problème; L'application commence à fonctionner immédiatement après la rétrogradation à 20.0. Donc, je suppose que certains de vos pots pourraient être incompatibles. Essayez de réduire/supprimer les dépendances une par une.