J'avais un pot créé par moi-même à partir d'un autre projet importé comme bibliothèque dans mon autre projet. Lorsque j'ai changé de code dans ce projet et exporté un nouveau fichier jar pour remplacer l'ancien, je ne peux plus exécuter mon application. Je ne reçois que l'erreur suivante:
J'ai essayé de supprimer et d'ajouter et d'ajouter en tant que dépendance, en ajoutant en tant que bibliothèque. Rien ne semble fonctionner. J'ai également fait une construction propre et une reconstruction.
Nous avons vu ce problème dans le passé, lorsque notre projet était compiler avec une version de Java différente de celle utilisée pour compiler la bibliothèque.} _Le nombre magique est simplement utilisé pour identifier les fichiers de classe , le problème est donc la version Java (0034.0000 == Java 8).
La solution la plus simple consiste à cibler Java 6, ce qui peut nécessiter de supprimer la syntaxe la plus récente de votre code. Dans notre cas, le projet et la bibliothèque étaient les nôtres. Nous avons donc pu ajouter les éléments suivants pour forcer la version de Java dont nous avions besoin:
pour les bibliothèques Android, ajoutez ce code à l'objet d'extension "Android":
Android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_6
targetCompatibility JavaVersion.VERSION_1_6
}
...
}
pour les bibliothèques Java, ajoutez ce code au "niveau supérieur":
apply plugin: 'Java'
version '1.8.1'
group 'com.yourcompany.package'
sourceCompatibility = JavaVersion.VERSION_1_6 //these two lines
targetCompatibility = JavaVersion.VERSION_1_6 //are the only ones that matter
REMARQUE: les deux dernières lignes sont les seules qui importent. J'ai ajouté les autres simplement pour montrer à quoi ces lignes appartiennent, en ce qui concerne le reste de votre fichier de construction Gradle.
Pour nous, cela était dû à la version des outils de génération du SDK Android. Vous avez le problème sur v23.x, mais pas v22.x. Vous devez désinstaller v23 pour que Cordova sélectionne v22.
Peut-être un symptôme plutôt qu'une cause, mais cela peut décoller une personne dans la même situation.
ajouter:
sourceCompatibility = JavaVersion.VERSION_X_X
targetCompatibility = JavaVersion.VERSION_X_X
dans le fichier Gradle du projet Android et le fichier Gradle de la bibliothèque Java a fonctionné pour moi.
Désolé, je l'aurais +1, mais je n'ai pas assez de réputation
Bien que votre problème semble résolu, je me suis retrouvé ici avec une erreur similaire (lors de la création des exemples à partir de developer.Android.com). Au cas où cela serait utile aux autres, j'ai pu le résoudre en définissant Java_HOME sur la valeur appropriée. Dans mon cas c'était:
export Java_HOME=/usr/lib/jvm/Java-6-openjdk-AMD64