2

I want to implement GeckoView into my app but I always get the following errors:

  1. When I just implement it as described in this Link: https://wiki.mozilla.org/Mobile/GeckoView

The following error occurs when installing the app:

Installation failed with message Failed to commit install session 2023122124 with command cmd package install-commit 2023122124. Error: INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113. It is possible that this issue is resolved by uninstalling an existing version of the apk if it is present, and then re-installing.

WARNING: Uninstalling will remove the application data!

Do you want to uninstall the existing application?

  1. When I click "OK", the following error occurs in the debug tab:

05/07 10:56:14: Launching app $ adb install-multiple -r -t C:\Users\USERNAME\Desktop\GeckoViewTest\app\build\intermediates\split-apk\x86_64\debug\slices\slice_6.apk C:\Users\USERNAME\Desktop\GeckoViewTest\app\build\intermediates\split-apk\x86_64\debug\slices\slice_0.apk C:\Users\USERNAME\Desktop\GeckoViewTest\app\build\intermediates\split-apk\x86_64\debug\slices\slice_1.apk C:\Users\USERNAME\Desktop\GeckoViewTest\app\build\intermediates\split-apk\x86_64\debug\slices\slice_2.apk C:\Users\USERNAME\Desktop\GeckoViewTest\app\build\intermediates\split-apk\x86_64\debug\slices\slice_7.apk C:\Users\USERNAME\Desktop\GeckoViewTest\app\build\intermediates\split-apk\x86_64\debug\slices\slice_4.apk C:\Users\USERNAME\Desktop\GeckoViewTest\app\build\intermediates\resources\instant-run\x86_64\debug\resources-x86_64-debug.apk C:\Users\USERNAME\Desktop\GeckoViewTest\app\build\intermediates\split-apk\x86_64\debug\slices\slice_5.apk C:\Users\USERNAME\Desktop\GeckoViewTest\app\build\intermediates\split-apk\x86_64\debug\slices\slice_9.apk C:\Users\USERNAME\Desktop\GeckoViewTest\app\build\intermediates\split-apk\x86_64\debug\slices\slice_3.apk C:\Users\USERNAME\Desktop\GeckoViewTest\app\build\intermediates\split-apk\x86_64\debug\slices\slice_8.apk C:\Users\USERNAME\Desktop\GeckoViewTest\app\build\intermediates\split-apk\x86_64\debug\dep\dependencies.apk C:\Users\USERNAME\Desktop\GeckoViewTest\app\build\intermediates\instant-run-apk\x86_64\debug\app-x86_64-debug.apk $ adb shell pm uninstall de.example.test.geckoviewtest Unknown failure: Exception occurred while executing: java.lang.IllegalArgumentException: Unknown package: de.example.test.geckoviewtest at com.android.server.pm.Settings.isOrphaned(Settings.java:4289) at com.android.server.pm.PackageManagerService.isOrphaned(PackageManagerService.java:21095) at com.android.server.pm.PackageManagerService.deletePackageVersioned(PackageManagerService.java:17916) at com.android.server.pm.PackageInstallerService.uninstall(PackageInstallerService.java:736) at com.android.server.pm.PackageManagerShellCommand.runUninstall(PackageManagerShellCommand.java:1486) at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:193) at android.os.ShellCommand.exec(ShellCommand.java:103) at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:21328) at android.os.Binder.shellCommand(Binder.java:634) at android.os.Binder.onTransact(Binder.java:532) at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:2821) at com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:3856) at android.os.Binder.execTransact(Binder.java:731) Error while Installing APKs

I added this Code under productFlavors{...} and could install the app:

splits {
    abi {
        enable true
        reset()
        include 'x86', 'x86_64', 'arm64-v8a', 'armeabi-v7a'
        universalApk true
    }
}

But now my app crashes at:

GeckoRuntime runtime = GeckoRuntime.create(this);

and I get the following error in the onCreate of my activity:

2019-05-07 10:58:31.347 9069-9090/de.example.test.geckoviewtest E/GeckoLoader: Couldn't load mozglue. Trying native library dir. 2019-05-07 10:58:31.368 9069-9090/de.example.test.geckoviewtest E/GeckoLoader: Library doesn't exist when it should. 2019-05-07 10:58:31.382 9069-9090/de.example.test.geckoviewtest E/GeckoLoader: Couldn't load /data/user/0/de.example.test.geckoviewtest/lib/libmozglue.so: java.lang.UnsatisfiedLinkError: dlopen failed: library "/data/user/0/de.example.test.geckoviewtest/lib/libmozglue.so" not found 2019-05-07 10:58:31.392 9069-9090/de.example.test.geckoviewtest E/GeckoLoader: Couldn't load /data/app-lib/de.example.test.geckoviewtest/libmozglue.so: java.lang.UnsatisfiedLinkError: dlopen failed: library "/data/app-lib/de.example.test.geckoviewtest/libmozglue.so" not found 2019-05-07 10:58:31.409 9069-9090/de.example.test.geckoviewtest E/GeckoLoader: Couldn't load /data/data/de.example.test.geckoviewtest/lib/libmozglue.so: java.lang.UnsatisfiedLinkError: dlopen failed: library "/data/data/de.example.test.geckoviewtest/lib/libmozglue.so" not found 2019-05-07 10:58:31.420 9069-9090/de.example.test.geckoviewtest W/GeckoLoader: lib/x86/libmozglue.so not found in APK /data/app/de.example.test.geckoviewtest-ED_fDOF4yrCjKrHnYMiPhQ==/base.apk 2019-05-07 10:58:31.423 9069-9090/de.example.test.geckoviewtest E/GeckoLoader: Load diagnostics: LOAD mozglue: ABI: x86_64-gcc3, x86: Data: /data/user/0/de.example.test.geckoviewtest, ax=false, ddx=false, -1x=false, -2x=false, nativeLib: /data/app/de.example.test.geckoviewtest-ED_fDOF4yrCjKrHnYMiPhQ==/lib/x86, dirx=false, libx=false --------- beginning of crash 2019-05-07 10:58:31.438 9069-9090/de.example.test.geckoviewtest E/AndroidRuntime: FATAL EXCEPTION: Gecko Process: de.example.test.geckoviewtest, PID: 9069 java.lang.RuntimeException: LOAD mozglue: ABI: x86_64-gcc3, x86: Data: /data/user/0/de.example.test.geckoviewtest, ax=false, ddx=false, -1x=false, -2x=false, nativeLib: /data/app/de.example.test.geckoviewtest-ED_fDOF4yrCjKrHnYMiPhQ==/lib/x86, dirx=false, libx=false at org.mozilla.gecko.mozglue.GeckoLoader.doLoadLibrary(GeckoLoader.java:426) at org.mozilla.gecko.mozglue.GeckoLoader.loadMozGlue(GeckoLoader.java:434) at org.mozilla.gecko.GeckoThread.initGeckoEnvironment(GeckoThread.java:287) at org.mozilla.gecko.GeckoThread.run(GeckoThread.java:448) Caused by: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/de.example.test.geckoviewtest-ED_fDOF4yrCjKrHnYMiPhQ==/base.apk", zip file "/data/app/de.example.test.geckoviewtest-ED_fDOF4yrCjKrHnYMiPhQ==/split_lib_dependencies_apk.apk", zip file "/data/app/de.example.test.geckoviewtest-ED_fDOF4yrCjKrHnYMiPhQ==/split_lib_resources_apk.apk", zip file "/data/app/de.example.test.geckoviewtest-ED_fDOF4yrCjKrHnYMiPhQ==/split_lib_slice_0_apk.apk", zip file "/data/app/de.example.test.geckoviewtest-ED_fDOF4yrCjKrHnYMiPhQ==/split_lib_slice_1_apk.apk", zip file "/data/app/de.example.test.geckoviewtest-ED_fDOF4yrCjKrHnYMiPhQ==/split_lib_slice_2_apk.apk", zip file "/data/app/de.example.test.geckoviewtest-ED_fDOF4yrCjKrHnYMiPhQ==/split_lib_slice_3_apk.apk", zip file "/data/app/de.example.test.geckoviewtest-ED_fDOF4yrCjKrHnYMiPhQ==/split_lib_slice_4_apk.apk", zip file "/data/app/de.example.test.geckoviewtest-ED_fDOF4yrCjKrHnYMiPhQ==/split_lib_slice_5_apk.apk", zip file "/data/app/de.example.test.geckoviewtest-ED_fDOF4yrCjKrHnYMiPhQ==/split_lib_slice_6_apk.apk", zip file "/data/app/de.example.test.geckoviewtest-ED_fDOF4yrCjKrHnYMiPhQ==/split_lib_slice_7_apk.apk", zip file "/data/app/de.example.test.geckoviewtest-ED_fDOF4yrCjKrHnYMiPhQ==/split_lib_slice_8_apk.apk", zip file "/data/app/de.example.test.geckoviewtest-ED_fDOF4yrCjKrHnYMiPhQ==/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/de.example.test.geckoviewtest-ED_fDOF4yrCjKrHnYMiPhQ==/lib/x86, /system/lib]]] couldn't find "libmozglue.so" at java.lang.Runtime.loadLibrary0(Runtime.java:1012) at java.lang.System.loadLibrary(System.java:1669) at org.mozilla.gecko.mozglue.GeckoLoader.doLoadLibraryExpected(GeckoLoader.java:347) at org.mozilla.gecko.mozglue.GeckoLoader.doLoadLibrary(GeckoLoader.java:373) at org.mozilla.gecko.mozglue.GeckoLoader.loadMozGlue(GeckoLoader.java:434)  at org.mozilla.gecko.GeckoThread.initGeckoEnvironment(GeckoThread.java:287)  at org.mozilla.gecko.GeckoThread.run(GeckoThread.java:448)

Don Marti
  • 7
  • 2
Chris
  • 147
  • 1
  • 11

1 Answers1

3

It seems that the gecko build doesn't contains the proper library mozglue for the architecture you are targeting (i.e. your devices needs x86 and u're building arm64). You need to be sure to import the right one for your architecture

implementation "org.mozilla.geckoview:geckoview-arm64-v8a:69.0.20190903125908" //for arm 64
implementation "org.mozilla.geckoview:geckoview-armeabi-v7a:69.0.20190903125908" //for arm v7
implementation "org.mozilla.geckoview:geckoview-x86:69.0.20190903125908" //for x86 32 bit
implementation "org.mozilla.geckoview:geckoview-x86_64:69.0.20190903125908" //for x86 64 bit
statosdotcom
  • 3,109
  • 2
  • 17
  • 40
Paolo M
  • 79
  • 4