How to pass the '@aar' at the end of dependency when publish to mavenLocal in Android

Viewed 33

I create my android library that it use lazysodium-android and it need to keep @aar at the end. And I use maven-publish to publish my library but when I try to implement my library in my test app my test app can not run because of my test app implement lazysodium-android without the @aar notation. Can I pass @aar notation to .pom file when I publish.

This is an error from my test app

java.lang.UnsatisfiedLinkError: Native library (com/sun/jna/android-x86/libjnidispatch.so) not found in resource path (.)
        at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:1033)
        at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:989)
        at com.sun.jna.Native.<clinit>(Native.java:195)
        at com.sun.jna.Native.register(Native.java:1745)
        at com.goterl.lazysodium.SodiumAndroid.<init>(SodiumAndroid.java:36)
        at com.goterl.lazysodium.SodiumAndroid.<init>(SodiumAndroid.java:17)
        at com.wongnai.android.testapp.MainActivity.onCreate(MainActivity.kt:21)
        at android.app.Activity.performCreate(Activity.java:7802)
        at android.app.Activity.performCreate(Activity.java:7791)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1299)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7356)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)

And my publish code

publishing {
    repositories {
        maven {
            name = 'CustomMavenRepo'
            url = "file://${buildDir}/repo"
        }
    }

    publications {
        myModule(MavenPublication) {
            groupId LIB_GROUP_ID
            artifactId LIB_ARTIFACT_ID
            version LIB_VERSION
            artifact sourceJar
            artifact "$buildDir/outputs/aar/library-release.aar"

            pom {
                withXml {
                    def dependenciesNode = asNode().appendNode('dependencies')

                    project.configurations.implementation.allDependencies.each {

                        def dependencyNode = dependenciesNode.appendNode('dependency')
                        dependencyNode.appendNode('groupId', it.group)
                        dependencyNode.appendNode('artifactId', it.name)
                        dependencyNode.appendNode('version', it.version)
                    }
                }
            }
        }
    }
}

Thank you.

0 Answers
Related