Android Studio-ARCore-E/DynamiceClient:无法从远程软件包加载本机库[packageName=com.google.ar.core,libraryName=ARCore_c]:
我正在尝试遵循一个错误,但是当我尝试启动应用程序时,我不断出现此错误:Android Studio-ARCore-E/DynamiceClient:无法从远程软件包加载本机库[packageName=com.google.ar.core,libraryName=ARCore_c]:,android,arcore,sceneform,Android,Arcore,Sceneform,我正在尝试遵循一个错误,但是当我尝试启动应用程序时,我不断出现此错误: E/DynamiteClient: Failed to load native library [packageName=com.google.ar.core,libraryName=arcore_c] from remote package: java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/com.google.ar.core-dmlqkWErg
E/DynamiteClient: Failed to load native library [packageName=com.google.ar.core,libraryName=arcore_c] from remote package:
java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/com.google.ar.core-dmlqkWErgZyoM0RLfsTjSw==/lib/arm/libarcore_c.so" has unexpected e_machine: 40 (EM_ARM)
at java.lang.Runtime.loadLibrary0(Runtime.java:1016)
at java.lang.System.loadLibrary(System.java:1669)
at com.google.vr.dynamite.NativeLibraryLoader.a(PG:30)
at com.google.vr.dynamite.NativeLibraryLoader.initializeAndLoadNativeLibrary(PG:14)
at evx.a(PG:7)
at xo.onTransact(PG:5)
at android.os.Binder.transact(Binder.java:667)
at com.google.a.a.b.transactAndReadException(BaseProxy.java:10)
at com.google.vr.dynamite.client.b.initializeAndLoadNativeLibrary(INativeLibraryLoader.java:5)
at com.google.vr.dynamite.client.DynamiteClient.loadNativeRemoteLibrary(DynamiteClient.java:26)
at com.google.ar.core.Session.nativeCreateSessionAndWrapperWithFeatures(Native Method)
at com.google.ar.core.Session.<init>(Session.java:14)
at com.google.ar.sceneform.ux.BaseArFragment.createSessionWithFeatures(BaseArFragment.java:419)
at com.google.ar.sceneform.ux.BaseArFragment.createSession(BaseArFragment.java:405)
at com.google.ar.sceneform.ux.BaseArFragment.initializeSession(BaseArFragment.java:379)
at com.google.ar.sceneform.ux.BaseArFragment.onResume(BaseArFragment.java:338)
at androidx.fragment.app.Fragment.performResume(Fragment.java:2649)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:922)
at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1238)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1303)
at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManagerImpl.java:2659)
at androidx.fragment.app.FragmentManagerImpl.dispatchResume(FragmentManagerImpl.java:2625)
at androidx.fragment.app.FragmentController.dispatchResume(FragmentController.java:268)
at androidx.fragment.app.FragmentActivity.onResumeFragments(FragmentActivity.java:479)
at androidx.fragment.app.FragmentActivity.onPostResume(FragmentActivity.java:468)
at androidx.appcompat.app.AppCompatActivity.onPostResume(AppCompatActivity.java:195)
at android.app.Activity.performResume(Activity.java:7317)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3776)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3816)
at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:51)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:145)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
I/third_party/arcore/java/com/google/vr/dynamite/client/native/dynamite_client.cc: Dynamite::LoadNativeRemoteLibrary handle=0
E/third_party/arcore/ar/core/android/sdk/session_create.cc: Dynamite failed to load remote library
LoadSymbolsDynamite returning AR_ERROR_FATAL.
LoadSymbols returning status.
E/StandardArFragment: Error: Failed to create AR session
com.google.ar.core.exceptions.UnavailableException
at com.google.ar.sceneform.ux.BaseArFragment.initializeSession(BaseArFragment.java:391)
at com.google.ar.sceneform.ux.BaseArFragment.onResume(BaseArFragment.java:338)
at androidx.fragment.app.Fragment.performResume(Fragment.java:2649)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:922)
at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1238)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1303)
at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManagerImpl.java:2659)
at androidx.fragment.app.FragmentManagerImpl.dispatchResume(FragmentManagerImpl.java:2625)
at androidx.fragment.app.FragmentController.dispatchResume(FragmentController.java:268)
at androidx.fragment.app.FragmentActivity.onResumeFragments(FragmentActivity.java:479)
at androidx.fragment.app.FragmentActivity.onPostResume(FragmentActivity.java:468)
at androidx.appcompat.app.AppCompatActivity.onPostResume(AppCompatActivity.java:195)
at android.app.Activity.performResume(Activity.java:7317)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3776)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3816)
at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:51)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:145)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: com.google.ar.core.exceptions.FatalException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at com.google.ar.core.Session.throwExceptionFromArStatus(Session.java:143)
at com.google.ar.core.Session.nativeCreateSessionAndWrapperWithFeatures(Native Method)
at com.google.ar.core.Session.<init>(Session.java:14)
at com.google.ar.sceneform.ux.BaseArFragment.createSessionWithFeatures(BaseArFragment.java:419)
at com.google.ar.sceneform.ux.BaseArFragment.createSession(BaseArFragment.java:405)
at com.google.ar.sceneform.ux.BaseArFragment.initializeSession(BaseArFragment.java:379)
at com.google.ar.sceneform.ux.BaseArFragment.onResume(BaseArFragment.java:338)
at androidx.fragment.app.Fragment.performResume(Fragment.java:2649)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:922)
at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1238)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1303)
at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManagerImpl.java:2659)
at androidx.fragment.app.FragmentManagerImpl.dispatchResume(FragmentManagerImpl.java:2625)
at androidx.fragment.app.FragmentController.dispatchResume(FragmentController.java:268)
at androidx.fragment.app.FragmentActivity.onResumeFragments(FragmentActivity.java:479)
at androidx.fragment.app.FragmentActivity.onPostResume(FragmentActivity.java:468)
at androidx.appcompat.app.AppCompatActivity.onPostResume(AppCompatActivity.java:195)
at android.app.Activity.performResume(Activity.java:7317)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3776)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3816)
at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:51)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:145)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
从那里可以看出,您是在Intel而不是ARM设备上运行应用程序,不同的硬件通常需要不同的库文件 如果您在仿真器中运行应用程序,则ARCore说明将提供有关为仿真器设置x86支持的信息(): 获取用于ARCore的Android Studio和SDK工具 安装Android Studio 3.1或更高版本 在Android Studio中,进入首选项>外观和行为>系统设置>Android SDK 选择SDK平台选项卡并选中显示软件包详细信息 在Android 8.1(Oreo)下,选择: 谷歌API英特尔x86 Atom系统映像API级别27,版本4或更高版本。 选择SDK工具选项卡并添加Android Emulator 27.2.9或更高版本 单击“确定”安装选定的软件包和工具 再次单击“确定”以确认更改 接受组件安装程序的许可协议 单击Finish 如果你的应用程序也包含NDK组件,请查看上面同一链接中关于需要x86 API的说明,作为检查,但我认为这不适用于你目前的情况 如果出于某种原因,您需要在x86b上运行,并且没有所需的某些二进制文件的x86版本,那么有一个名为libhoundi的库可以实现这一点。这里有一个很好的概述:
同样,我认为这不适用于您的情况,但了解背景可能会有用。这最终会有所帮助。我错过了必须将APK拖到模拟器上的部分。我也开始使用下面的代码,错误消失了<代码>像素2 API 29-Q10.0 x86
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.arcoretestjava">
<!-- "AR Required" apps must declare minSdkVersion >= 24. -->
<uses-sdk android:targetSdkVersion="29"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera.ar" android:required="true"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<meta-data android:name="com.google.ar.core" android:value="required"/>
</application>
</manifest>
implementation 'com.google.ar.sceneform.ux:sceneform-ux:1.15.0'
implementation 'com.google.ar:core:1.16.0