java错误膨胀类com。谷歌。A.场景形式。ArSceneView
我搞错了这是我的日志
2020-07-26 12:14:50.756 30507-30507/com.tuto.myapplication E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.tuto.myapplication, PID: 30507
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.tuto.myapplication/com.tuto.myapplication.MainActivity}: 安卓.view.InflateException: Binary XML file line #27 in com.tuto.myapplication:layout/activity_main: Binary XML file line #22 in com.tuto.myapplication:layout/sceneform_ux_fragment_layout: Binary XML file line #22 in com.tuto.myapplication:layout/sceneform_ux_fragment_layout: Error inflating class com.google.ar.sceneform.ArSceneView
at 安卓.app.ActivityThread.performLaunchActivity(ActivityThread.java:3782)
at com.安卓.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
at com.安卓.internal.os.ZygoteInit.main(ZygoteInit.java:1101)
Caused by: 安卓.view.InflateException: Binary XML file line #27 in com.tuto.myapplication:layout/activity_main: Binary XML file line #22 in com.tuto.myapplication:layout/sceneform_ux_fragment_layout: Binary XML file line #22 in com.tuto.myapplication:layout/sceneform_ux_fragment_layout: Error inflating class com.google.ar.sceneform.ArSceneView
Caused by: 安卓.view.InflateException: Binary XML file line #22 in com.tuto.myapplication:layout/sceneform_ux_fragment_layout: Binary XML file line #22 in com.tuto.myapplication:layout/sceneform_ux_fragment_layout: Error inflating class com.google.ar.sceneform.ArSceneView
Caused by: 安卓.view.InflateException: Binary XML file line #22 in com.tuto.myapplication:layout/sceneform_ux_fragment_layout: Error inflating class com.google.ar.sceneform.ArSceneView
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343) 安卓.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1016)
at 安卓.view.LayoutInflater.createViewFromTag(LayoutInflater.java:971)
at 安卓.view.LayoutInflater.rInflate(LayoutInflater.java:1133)
at 安卓.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1094)
at 安卓.view.LayoutInflater.inflate(LayoutInflater.java:692)
at 安卓.view.LayoutInflater.inflate(LayoutInflater.java:536)
at com.google.ar.sceneform.ux.BaseArFragment.onCreateView(BaseArFragment.java:162)
at 安卓x.fragment.app.Fragment.performCreateView(Fragment.java:2600)
at 安卓x.fragment.app.FragmentManagerImpl.ensureInflatedFragmentView(FragmentManagerImpl.java:1138)
at 安卓x.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:851)
at 安卓x.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1133)
at 安卓x.fragment.app.FragmentManagerImpl.addFragment(FragmentManagerImpl.java:1393)
at 安卓x.fragment.app.FragmentManagerImpl.onCreateView(FragmentManagerImpl.java:3205)
at 安卓x.fragment.app.FragmentController.onCreateView(FragmentController.java:134)
at 安卓x.fragment.app.FragmentActivity.dispatchFragmentsOnCreateView(FragmentActivity.java:357)
at 安卓x.fragment.app.FragmentActivity.onCreateView(FragmentActivity.java:336)
at 安卓.view.LayoutInflater.tryCreateView(LayoutInflater.java:1079)
at 安卓.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1007)
at 安卓.view.LayoutInflater.createViewFromTag(LayoutInflater.java:971)
2020-07-26 12:14:50.758 30507-30507/com.tuto.myapplication E/AndroidRuntime: at 安卓.view.LayoutInflater.rInflate(LayoutInflater.java:1133)
at 安卓x.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:555)
at 安卓x.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:161)
at com.tuto.myapplication.MainActivity.onCreate(MainActivity.java:77)
at 安卓.app.Activity.performCreate(Activity.java:8086)
at 安卓.app.Activity.performCreate(Activity.java:8074)
at 安卓.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1313)
at com.安卓.internal.os.ZygoteInit.main(ZygoteInit.java:1101)
Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/安卓/filament/gltfio/Gltfio;
at com.google.ar.sceneform.rendering.EngineInstance.gltfioInit(EngineInstance.java:96)
at com.google.ar.sceneform.rendering.EngineInstance.createEngine(EngineInstance.java:110)
at com.google.ar.sceneform.rendering.EngineInstance.getEngine(EngineInstance.java:42)
at com.google.ar.sceneform.rendering.Renderer.initialize(Renderer.java:542)
at com.google.ar.sceneform.rendering.Renderer.<init>(Renderer.java:109)
at com.google.ar.sceneform.SceneView.initialize(SourceFile:37)
2020-07-26 12:14:50.759 30507-30507/com.tuto.myapplication E/AndroidRuntime: Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.安卓.filament.gltfio.Gltfio" on path: DexPathList[[zip file "/data/app/com.tuto.myapplication-R6xbR4NAzgk5zRoAjKzIxA==/base.apk", zip file "/data/app/com.tuto.myapplication-R6xbR4NAzgk5zRoAjKzIxA==/split_lib_dependencies_apk.apk", zip file "/data/app/com.tuto.myapplication-R6xbR4NAzgk5zRoAjKzIxA==/split_lib_resources_apk.apk", zip file "/data/app/com.tuto.myapplication-R6xbR4NAzgk5zRoAjKzIxA==/split_lib_slice_0_apk.apk", zip file "/data/app/com.tuto.myapplication-R6xbR4NAzgk5zRoAjKzIxA==/split_lib_slice_1_apk.apk", zip file "/data/app/com.tuto.myapplication-R6xbR4NAzgk5zRoAjKzIxA==/split_lib_slice_2_apk.apk", zip file "/data/app/com.tuto.myapplication-R6xbR4NAzgk5zRoAjKzIxA==/split_lib_slice_3_apk.apk", zip file "/data/app/com.tuto.myapplication-R6xbR4NAzgk5zRoAjKzIxA==/split_lib_slice_4_apk.apk", zip file "/data/app/com.tuto.myapplication-R6xbR4NAzgk5zRoAjKzIxA==/split_lib_slice_5_apk.apk", zip file "/data/app/com.tuto.myapplication-R6xbR4NAzgk5zRoAjKzIxA==/split_lib_slice_6_apk.apk", zip file "/data/app/com.tuto.myapplication-R6xbR4NAzgk5zRoAjKzIxA==/split_lib_slice_7_apk.apk", zip file "/data/app/com.tuto.myapplication-R6xbR4NAzgk5zRoAjKzIxA==/split_lib_slice_8_apk.apk", zip file "/data/app/com.tuto.myapplication-R6xbR4NAzgk5zRoAjKzIxA==/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.tuto.myapplication-R6xbR4NAzgk5zRoAjKzIxA==/lib/arm64, /data/app/com.tuto.myapplication-R6xbR4NAzgk5zRoAjKzIxA==/base.apk!/lib/arm64-v8a, /data/app/com.tuto.myapplication-R6xbR4NAzgk5zRoAjKzIxA==/split_lib_dependencies_apk.apk!/lib/arm64-v8a, /data/app/com.tuto.myapplication-R6xbR4NAzgk5zRoAjKzIxA==/split_lib_resources_apk.apk!/lib/arm64-v8a, /data/app/com.tuto.myapplication-R6xbR4NAzgk5zRoAjKzIxA==/split_lib_slice_0_apk.apk!/lib/arm64-v8a, /data/app/com.tuto.myapplication-R6xbR4NAzgk5zRoAjKzIxA==/split_lib_slice_1_apk.apk!/lib/arm64-v8a, /data/app/com.tuto.myapplication-R6xbR4NAzgk5zRoAjKzIxA==/split_lib_slice_2_apk.apk!/lib/arm64-v8a, /data/app/com.tuto.myapplication-R6xbR4NAzgk5zRoAjKzIxA==/split_lib_slice_3_apk.apk!/lib/arm64-v8a, /data/app/com.tuto.myapplication-R6xbR4NAzgk5zRoAjKzIxA==/split_lib_slice_4_apk.apk!/lib/arm64-v8a, /data/app/com.tuto.myapplication-R6xbR4NAzgk5zRoAjKzIxA==/split_lib_slice_5_apk.apk!/lib/arm64-v8a, /data/app/com.tuto.myapplication-R6xbR4NAzgk5zRoAjKzIxA==/split_lib_slice_6_apk.apk!/lib/arm64-v8a, /data/app/com.tuto.myapplication-R6xbR4NAzgk5zRoAjKzIxA==/split_lib_slice_7_apk.apk!/lib/arm64-v8a, /data/app/com.tuto.myapplication-R6xbR4NAzgk5zRoAjKzIxA==/split_lib_slice_8_apk.apk!/lib/arm64-v8a, /data/app/com.tuto.myapplication-R6xbR4NAzgk5zRoAjKzIxA==/split_lib_slice_9_apk.apk!/lib/arm64-v8a, /system/lib64, /system/product/lib64, /hw_product/lib64, /system/product/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:196)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
... 53 more
Suppressed: java.io.IOException: No original dex files found for dex location /data/app/com.tuto.myapplication-R6xbR4NAzgk5zRoAjKzIxA==/split_lib_resources_apk.apk
at dalvik.system.DexFile.openDexFileNative(Native Method)
at dalvik.system.DexFile.openDexFile(DexFile.java:365)
at dalvik.system.DexFile.<init>(DexFile.java:107)
at dalvik.system.DexFile.<init>(DexFile.java:80)
at dalvik.system.DexPathList.loadDexFile(DexPathList.java:444)
at dalvik.system.DexPathList.makeDexElements(DexPathList.java:403)
at dalvik.system.DexPathList.<init>(DexPathList.java:164)
at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:126)
at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:101)
at dalvik.system.PathClassLoader.<init>(PathClassLoader.java:74)
at com.安卓.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:87)
2020-07-26 12:14:50.759 30507-30507/com.tuto.myapplication E/AndroidRuntime: at com.安卓.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:116)
at 安卓.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:130)
at 安卓.app.ApplicationLoaders.getClassLoaderWithSharedLibraries(ApplicationLoaders.java:75)
at 安卓.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:914)
at 安卓.app.LoadedApk.getClassLoader(LoadedApk.java:1015)
at 安卓.app.LoadedApk.getResources(LoadedApk.java:1264)
at 安卓.app.ContextImpl.createAppContext(ContextImpl.java:2611)
at 安卓.app.ContextImpl.createAppContext(ContextImpl.java:2599)
at 安卓.app.ActivityThread.handleBindApplication(ActivityThread.java:7075)
at 安卓.app.ActivityThread.access$2200(ActivityThread.java:296)
at 安卓.app.ActivityThread$H.handleMessage(ActivityThread.java:2208)
... 6 more
Suppressed: java.io.IOException: No original dex files found for dex location /data/app/com.tuto.myapplication-R6xbR4NAzgk5zRoAjKzIxA==/split_lib_slice_0_apk.apk
at dalvik.system.DexFile.openDexFileNative(Native Method)
at dalvik.system.DexFile.openDexFile(DexFile.java:365)
at dalvik.system.DexFile.<init>(DexFile.java:107)
at dalvik.system.DexFile.<init>(DexFile.java:80)
at dalvik.system.DexPathList.loadDexFile(DexPathList.java:444)
at dalvik.system.DexPathList.makeDexElements(DexPathList.java:403)
at dalvik.system.DexPathList.<init>(DexPathList.java:164)
at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:126)
at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:101)
at dalvik.system.PathClassLoader.<init>(PathClassLoader.java:74)
at com.安卓.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:87)
at com.安卓.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:116)
at 安卓.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:130)
at 安卓.app.ApplicationLoaders.getClassLoaderWithSharedLibraries(ApplicationLoaders.java:75)
at 安卓.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:914)
at 安卓.app.LoadedApk.getClassLoader(LoadedApk.java:1015)
at 安卓.app.LoadedApk.getResources(LoadedApk.java:1264)
at 安卓.app.ContextImpl.createAppContext(ContextImpl.java:2611)
at 安卓.app.ContextImpl.createAppContext(ContextImpl.java:2599)
at 安卓.app.ActivityThread.handleBindApplication(ActivityThread.java:7075)
at 安卓.app.ActivityThread.access$2200(ActivityThread.java:296)
at 安卓.app.ActivityThread$H.handleMessage(ActivityThread.java:2208)
... 6 more
这是我的密码 主要活动。爪哇:
public class MainActivity extends AppCompatActivity implements Scene.OnUpdateListener {
private customArFragment mCustomArFragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
mCustomArFragment = (customArFragment) getSupportFragmentManager().findFragmentById(R.id.fragment);
mCustomArFragment.getArSceneView().getScene().addOnUpdateListener(this);
}catch (Exception e){
e.printStackTrace();
}
}
public void setUpDatabase(Config config, Session session){
Bitmap nature = BitmapFactory.decodeResource(getResources(),R.drawable.nature);
AugmentedImageDatabase aid = new AugmentedImageDatabase(session);
aid.addImage("nature" , nature);
config.setAugmentedImageDatabase(aid);
}
@Override
public void onUpdate(FrameTime frameTime) {
Frame frame = mCustomArFragment.getArSceneView().getArFrame();
Collection<AugmentedImage> images = frame.getUpdatedTrackables(AugmentedImage.class);
for (AugmentedImage image : images){
if (image.getTrackingState() == TrackingState.TRACKING){
if (image.getName().equals("nature")){
Anchor anchor = image.createAnchor(image.getCenterPose());
createModel(anchor);
}
}
}
}
private void createModel(Anchor anchor) {
ModelRenderable.builder()
.setSource(this , Uri.parse("untitled.sfb"))
.build()
.thenAccept(modelRenderable -> { placeModel(modelRenderable,anchor); });
}
private void placeModel(ModelRenderable modelRenderable, Anchor anchor) {
AnchorNode anchorNode = new AnchorNode(anchor);
anchorNode.setRenderable(modelRenderable);
mCustomArFragment.getArSceneView().getScene().addChild(anchorNode);
}
}
主要活动。xml
<?xml version="1.0" encoding="utf-8"?>
<安卓x.constraintlayout.widget.ConstraintLayout xmlns:安卓="http://schemas.安卓.com/apk/res/安卓"
xmlns:app="http://schemas.安卓.com/apk/res-auto"
xmlns:tools="http://schemas.安卓.com/tools"
安卓:layout_width="match_parent"
安卓:layout_height="match_parent"
tools:context=".MainActivity">
<fragment
安卓:layout_width="match_parent"
安卓:layout_height="match_parent"
安卓:id="@+id/fragment"
安卓:name="com.tuto.myapplication.customArFragment"/>
</安卓x.constraintlayout.widget.ConstraintLayout>
customArFragment:
public class customArFragment extends ArFragment {
@Override
protected Config getSessionConfiguration(Session session) {
Config config = new Config(session);
config.setUpdateMode(Config.UpdateMode.LATEST_CAMERA_IMAGE);
config.setFocusMode(Config.FocusMode.AUTO);
session.configure(config);
this.getArSceneView().setupSession(session);
((MainActivity)getActivity()).setUpDatabase(config,session);
return config;
}
}
谢谢!
//EDIT1:刚刚编辑了stacktrace以便可以利用。 需要添加一些细节,所以我必须写几行
请补充一些解释;关于每个代码块的详细信息
Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是行业标准的虚拟文本,当时一位不知名的印刷商拿起一个打印工具,将其拼凑成一本打印样本书。它不仅存活了五个世纪,而且还跨越到电子排版,基本上保持不变。它在20世纪60年代随着包含Lorem Ipsum段落的Letraset表单的发布而流行,最近随着Aldus PageMaker等桌面出版软件的发布,包括Lorem Ipsum版本
共 (0) 个答案