我试图在我的应用程序中使用AndroidX库,但是遇到了问题。我了解与Firebase相关的问题。如您所见,我排除了支持v4库,这是有原因的。如果删除这些行,则会出现另一个错误:“程序类型已存在:android.support.v4.media.MediaBrowserCompat $ ConnectionCallback $ StubApi21”。那么,如何一起使用AndroidX和Firebase?有什么解决办法吗?
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.ignes.androidxtest, PID: 30800
java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/util/ArrayMap;
at com.google.firebase.FirebaseApp.<clinit>(SourceFile:135)
at com.google.firebase.FirebaseApp.initializeApp(SourceFile:273)
at com.google.firebase.provider.FirebaseInitProvider.onCreate(SourceFile:37)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1696)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1671)
at com.google.firebase.provider.FirebaseInitProvider.attachInfo(SourceFile:31)
at android.app.ActivityThread.installProvider(ActivityThread.java:5084)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:4679)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4619)
at android.app.ActivityThread.access$1500(ActivityThread.java:155)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1378)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5343)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700)
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.util.ArrayMap" on path: DexPathList[[zip file "/data/app/com.ignes.androidxtest-2/base.apk", zip file "/data/app/com.ignes.androidxtest-2/split_lib_dependencies_apk.apk", zip file "/data/app/com.ignes.androidxtest-2/split_lib_slice_0_apk.apk", zip file "/data/app/com.ignes.androidxtest-2/split_lib_slice_1_apk.apk", zip file "/data/app/com.ignes.androidxtest-2/split_lib_slice_2_apk.apk", zip …Run Code Online (Sandbox Code Playgroud) 我试图用 gradle 构建我的项目。我收到此错误:
"Detecting annotation processors on the compile classpath has been deprecated. Gradle 5.0 will ignore annotation processors on the compile classpath. The following annotation processors were detected on the compile classpath: 'org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor'. Please add them to the annotation processor path instead. If you did not intend to use annotation processors, you can use the '-proc:none' compiler argument to ignore them."
Run Code Online (Sandbox Code Playgroud)
我知道我必须使用 annotattionProcessor 而不是编译。但实际上如何做到这一点。这是我的 gradle 文件依赖项的一部分:
dependencies {
implementation 'org.apache.logging.log4j:log4j-api:2.11.1'
implementation 'org.apache.logging.log4j:log4j-core:2.11.1'
}
Run Code Online (Sandbox Code Playgroud)
我试图像这样使用它(隐式方式),但它不起作用
dependencies {
implementation 'org.apache.logging.log4j:log4j-api:2.11.1'
implementation …Run Code Online (Sandbox Code Playgroud)