mapbox / mapbox/mapbox-plugins-android

Jetifier fails on Mapbox aars when attempting to migrate to AndroidX

Đang mở
#1,060 3 bình luận 2 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Ngôn ngữ chính
Java
Star
242
Fork
116
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

### Steps to reproduce

1. Migrate existing working project to AndroidX
2. Build via gradle from command line.

### Expected behavior

Successful build

### Actual behavior

Errors thrown for each Mapbox aar as below. No errors on any other libraries.

````
> Could not resolve all files for configuration ':androidLib:debugCompileClasspath'.
> Failed to transform artifact 'mapbox-android-plugin-annotation-v8.aar (com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v8:0.7.0)' to match attributes {artifactType=android-aidl}.
> Execution failed for JetifyTransform: /Users/clyde/.gradle/caches/modules-2/files-2.1/com.mapbox.mapboxsdk/mapbox-android-plugin-annotation-v8/0.7.0/ad94f8386bc00f894c1c030b1188aec571e74533/mapbox-android-plugin-annotation-v8-0.7.0.aar.
> Failed to transform '/Users/clyde/.gradle/caches/modules-2/files-2.1/com.mapbox.mapboxsdk/mapbox-android-plugin-annotation-v8/0.7.0/ad94f8386bc00f894c1c030b1188aec571e74533/mapbox-android-plugin-annotation-v8-0.7.0.aar' using Jetifier. Reason: null. (Run with --stacktrace for more details.)
> Failed to transform artifact 'mapbox-android-plugin-building-v8.aar (com.mapbox.mapboxsdk:mapbox-android-plugin-building-v8:0.6.0)' to match attributes {artifactType=android-aidl}.
> Execution failed for JetifyTransform: /Users/clyde/.gradle/caches/modules-2/files-2.1/com.mapbox.mapboxsdk/mapbox-android-plugin-building-v8/0.6.0/6c38df387e04b809466779f2299427fa78d0ac2c/mapbox-android-plugin-building-v8-0.6.0.aar.
> Failed to transform '/Users/clyde/.gradle/caches/modules-2/files-2.1/com.mapbox.mapboxsdk/mapbox-android-plugin-building-v8/0.6.0/6c38df387e04b809466779f2299427fa78d0ac2c/mapbox-android-plugin-building-v8-0.6.0.aar' using Jetifier. Reason: null. (Run with --stacktrace for more details.)
````

The stacktrace is not particularly informative:
````
Caused by: java.lang.IllegalArgumentException
at org.objectweb.asm.ClassVisitor.(ClassVisitor.java:79)
at org.objectweb.asm.commons.ClassRemapper.(ClassRemapper.java:61)
at org.objectweb.asm.commons.ClassRemapper.(ClassRemapper.java:56)
at com.android.tools.build.jetifier.processor.transform.bytecode.CoreRemapperImpl.(CoreRemapperImpl.kt:57)
at com.android.tools.build.jetifier.processor.transform.bytecode.ByteCodeTransformer.runTransform(ByteCodeTransformer.kt:38)
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.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.build.gradle.internal.dependency.JetifyTransform.transform(JetifyTransform.kt:113)
````

### Configuration

**Mapbox SDK versions:** Android 8.4.0

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Tái hiện quá trình migration sang AndroidX bằng cách build từ dòng lệnh với các AAR của plugin Mapbox, sau đó kiểm tra stack trace của JetifyTransform bắt đầu tại CoreRemapperImpl.kt:57 và ByteCodeTransformer.kt:38. Được xem là hoàn tất khi project build thành công mà không có lỗi Jetifier đối với các artifact của Mapbox.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
android, java
Lĩnh vực
build-system, mobile
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.