支持:可穿戴:2.4.0和AndroidX迁移

支持:可穿戴:2.4.0和AndroidX迁移,android,gradle,wear-os,androidx,Android,Gradle,Wear Os,Androidx,我正在尝试将我的项目迁移到AndroidX,但遇到了与com.google.android相关的问题。支持:wearable:2.4.0 此库未迁移到AndroidX,并且似乎依赖于其他支持库,这会导致Dex合并错误,如: Caused by: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex at com.android.builder.dexing.DexArchiveMergerCal

我正在尝试将我的项目迁移到AndroidX,但遇到了与com.google.android相关的问题。支持:wearable:2.4.0

此库未迁移到AndroidX,并且似乎依赖于其他支持库,这会导致Dex合并错误,如:

Caused by: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
    at com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:72)
    at com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:36)
Caused by: com.android.dex.DexException: Multiple dex files define Landroid/support/v4/os/ResultReceiver$1;
    at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:661)
    at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:616)
    at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:598)
    at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
    at com.android.dx.merge.DexMerger.merge(DexMerger.java:198)
    at com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:61)
    ... 1 more
我已尝试使用排除依赖中的支持库

implementation ('com.google.android.support:wearable:2.4.0'){
        exclude module: 'support-v4'
        exclude module: 'appcompat-v7'
        exclude module: 'support-compat'
    }
但这只会导致另一个错误,表明它缺少必需的类:

e: Supertypes of the following classes cannot be resolved. Please make sure you have the required dependencies in the classpath:
    class android.support.wearable.complications.ComplicationHelperActivity, unresolved supertypes: android.support.v4.app.ActivityCompat.OnRequestPermissionsResultCallback
请注意,我的gradle属性文件确实包括:

android.useAndroidX=true
android.enableJetifier=true

今天在WearOS代码中使用AndroidX不可能吗

如果启用了Jetifier,它应该可以很好地处理这种依赖关系。你确定是那个库导致了你的错误吗?@ianhanniballake相当肯定。我看到了com.android.support上的依赖项:运行gradle依赖项时,从该库中获得support compat,排除support compat会部分修复该问题(但会导致问题中提到的另一个问题)。也就是说,有没有一种方法可以验证喷射器确实在做它的事情?该设置在gradle.properties中,但可能会被忽略?Jetifier在该库上运行良好(其唯一目的是重写依赖项)-我自己的应用程序使用它时没有问题。你能包括你的应用程序还有哪些依赖项吗?你可以在WearOS上使用AndroidX库:如果你启用了Jetifier,它应该可以很好地处理这个依赖项。你确定是那个库导致了你的错误吗?@ianhanniballake相当肯定。我看到了com.android.support上的依赖项:运行gradle依赖项时,从该库中获得support compat,排除support compat会部分修复该问题(但会导致问题中提到的另一个问题)。也就是说,有没有一种方法可以验证喷射器确实在做它的事情?该设置在gradle.properties中,但可能会被忽略?Jetifier在该库上运行良好(其唯一目的是重写依赖项)-我自己的应用程序使用它时没有问题。您可以包括您的应用程序所包含的其他依赖项吗?您可以在WearOS上使用AndroidX库: