gpt4 book ai didi

android - 如何实现 GeckoView?

转载 作者:行者123 更新时间:2023-11-29 18:31:31 27 4
gpt4 key购买 nike

我想在我的应用中实现 GeckoView,但我总是遇到以下错误:

  1. 当我按照此链接中的描述实现它时:https://wiki.mozilla.org/Mobile/GeckoView

安装应用时出现如下错误:

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. 当我单击“确定”时,调试选项卡中出现以下错误:

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

我在 productFlavors{...} 下添加了这段代码并可以安装该应用:

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

但现在我的应用程序崩溃了:

GeckoRuntime runtime = GeckoRuntime.create(this);

我在 Activity 的 onCreate 中收到以下错误:

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)

最佳答案

似乎 gecko 版本不包含适合您目标架构的库 mozglue (即您的设备需要 x86 而您正在构建 arm64)。您需要确保为您的架构导入正确的

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

关于android - 如何实现 GeckoView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56020135/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com