Essayer de mettre à jour mon application aux dépendances androidX
. Suivi des instructions ici et la compilation a échoué. L'erreur est venue de JetifyTransform
tâche _ Échec de traitement d'une certaine dépendance .jar (FYI - Samsungs Spass SDK ):
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:kaptGenerateStubsStandardNo_vendorDebugKotlin'.
> Could not resolve all artifacts for configuration ':app:standardNo_vendorDebugCompileClasspath'.
> Failed to transform file 'pass-v1.2.2.jar' to match attributes {artifactType=processed-jar} using transform JetifyTransform
> Failed to transform '/Users/hanandann/StudioProjects/ArnakPaymentsAndroid/Payments/app/libs/pass-v1.2.2.jar' using Jetifier. Reason: null. (Run with --stacktrace for more details.)
> Failed to transform file 'pass-v1.2.2.jar' to match attributes {artifactType=processed-jar} using transform JetifyTransform
> Failed to transform '/Users/hanandann/StudioProjects/ArnakPaymentsAndroid/Payments/app/libs/pass-v1.2.2.jar' using Jetifier. Reason: null. (Run with --stacktrace for more details.)
Essayer de décider avec jetifier-standalone
L'outil avait des résultats similaires:
Hanans-MacBook-Pro:bin hanandann$ ./jetifier-standalone -i /Users/hanandann/StudioProjects/.../app/libs/pass-v1.2.2.jar -o /Users/hanandann/StudioProjects/.../app/libs/pass-v1.2.2jet.jar
Exception in thread "main" Java.lang.ArrayIndexOutOfBoundsException: 8
at org.objectweb.asm.ClassReader.readFrameType(ClassReader.Java:2313)
at org.objectweb.asm.ClassReader.readFrame(ClassReader.Java:2269)
at org.objectweb.asm.ClassReader.readCode(ClassReader.Java:1448)
at org.objectweb.asm.ClassReader.readMethod(ClassReader.Java:1126)
at org.objectweb.asm.ClassReader.accept(ClassReader.Java:698)
at org.objectweb.asm.ClassReader.accept(ClassReader.Java:500)
at com.Android.tools.build.jetifier.processor.transform.bytecode.ByteCodeTransformer.runTransform(ByteCodeTransformer.kt:39)
at com.Android.tools.build.jetifier.processor.Processor.visit(Processor.kt:443)
at com.Android.tools.build.jetifier.processor.archive.ArchiveFile.accept(ArchiveFile.kt:49)
at com.Android.tools.build.jetifier.processor.Processor.visit(Processor.kt:425)
at com.Android.tools.build.jetifier.processor.archive.Archive.accept(Archive.kt:76)
at com.Android.tools.build.jetifier.processor.Processor.transformLibrary(Processor.kt:421)
at com.Android.tools.build.jetifier.processor.Processor.transform(Processor.kt:247)
at com.Android.tools.build.jetifier.processor.Processor.transform$default(Processor.kt:234)
at com.Android.tools.build.jetifier.standalone.Main.run(Main.kt:157)
at com.Android.tools.build.jetifier.standalone.Main$Companion.main(Main.kt:109)
at com.Android.tools.build.jetifier.standalone.Main.main(Main.kt)
Maintenant, je ne me dérange pas vraiment que SDK ne soit pas jeté, alors j'ai essayé de définir Android.enableJetifier=false
dans mon gradle.properties
Fichier, mais la compilation a échoué à nouveau pour une raison différente- SupportMapFragment
_ n'est pas compatible avec Androidx pourtant, comme indiqué ici
Donc je suis coincé. Avec Jety the .jar ne se transformera pas. avec elle - supportmapfarg est incompatible.
Aucune suggestion?
P.s. Tu sais ce qui serait bien? S'il y avait une option ignore
pour la fonction de réglage
Si vous avez besoin d'ignorer un fichier .jar spécifique de la reprise. Vous pouvez ajouter le nom de fichier dans la gradle.properties comme sur la dernière ligne de cet exemple.
Android.useAndroidX=true
Android.enableJetifier=true
Android.jetifier.blacklist=liblinphone-4.0.1-debug-symbols.jar