Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Legacy Support v4 aar not included in apk Failed resolution of: Landroidx/core/content/ContextCompat

Discussion in 'Android' started by AdbC99, Aug 31, 2020.

  1. AdbC99

    AdbC99

    Joined:
    Jan 18, 2012
    Posts:
    53
    Hi,

    I'm integrating Firebase into a plugin and am getting the following error (and a couple of others with unresolved elements like ArrayMap from androidx collections:

    E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.testapp.test, PID: 11661
    java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/core/content/ContextCompat;
    at com.google.firebase.FirebaseApp.initializeAllApis(com.google.firebase:firebase-common@@17.0.0:637)
    at com.google.firebase.FirebaseApp.initializeApp(com.google.firebase:firebase-common@@17.0.0:358)
    at com.google.firebase.FirebaseApp.initializeApp(com.google.firebase:firebase-common@@17.0.0:321)
    at com.google.firebase.FirebaseApp.initializeApp(com.google.firebase:firebase-common@@17.0.0:305)
    at com.google.firebase.provider.FirebaseInitProvider.onCreate(com.google.firebase:firebase-common@@17.0.0:53)
    at android.content.ContentProvider.attachInfo(ContentProvider.java:1758)
    at android.content.ContentProvider.attachInfo(ContentProvider.java:1733)
    at com.google.firebase.provider.FirebaseInitProvider.attachInfo(com.google.firebase:firebase-common@@17.0.0:47)
    at android.app.ActivityThread.installProvider(ActivityThread.java:6326)
    at android.app.ActivityThread.installContentProviders(ActivityThread.java:5918)
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5857)
    at android.app.ActivityThread.-wrap3(ActivityThread.java)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1699)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:154)
    at android.app.ActivityThread.main(ActivityThread.java:6682)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)


    This is another arror that sometimes occurs in place of the first:

    compile 'androidx.legacy:legacy-support-v4:1.0.0'


    The missing classes are included in the android legacy support v4 aar file which I have included as a .aar by putting a copy in the plugins directory and this is reflected in the exported build.gradle:

    implementation(name: 'legacy-support-v4-1.0.0', ext:'aar')


    If I add a mainTemplate.gradle and add the following then the .aar is included and I don't get any errors, but then the plugin's user has to have Unity 2018.4+ or do this manually:

    implementation ('androidx.legacy:legacy-support-v4:1.0.0')


    My firebase versions need to be ~17 and are given below:

    implementation(name: 'firebase-common-17.0.0', ext:'aar')
    implementation(name: 'firebase-iid-17.1.0', ext:'aar')
    implementation(name: 'firebase-iid-interop-16.0.1', ext:'aar')
    implementation(name: 'firebase-measurement-connector-17.0.0', ext:'aar')
    implementation(name: 'firebase-messaging-17.3.3', ext:'aar')


    In my global gradle properties I have set:

    android.enableJetifier=true
    android.useAndroidX=true


    Can anybody help?
     
    Last edited: Aug 31, 2020