首页 / 浏览问题 / 移动GIS / 问题详情
new ARControl(context, sceneControl)闪退
5EXP 2022年02月15日
ARControl arControl;
try {
    arControl = new ARControl(this, b.sceneControl);
} catch (UnsatisfiedLinkError e) {
    LogUtil.outPut(e.getMessage());
    e.printStackTrace();
    return;
}

报错信息为:No implementation found for long com.google.ar.core.Session.nativeGetSymbolTable(long) (tried Java_com_google_ar_core_Session_nativeGetSymbolTable and Java_com_google_ar_core_Session_nativeGetSymbolTable__J)

1个回答

您好,报这个错是因为找不到ARCore的相关依赖,请确保以下几点:
1.是否添加我们产品包中的arcore相关依赖
2.在build.grandle文件中dependencies节点是否添加arcore的依赖:

implementation 'com.google.ar:core:1.11.0'
3.在AndroidManifest.xml中application节点添加:

<meta-data
    android:name="com.google.ar.core"
    android:value="required" />
9,232EXP 2022年02月16日

把arcore版本换成1.11.0后不报错了,但是

arControl.setAnchorOnClickListener(() -> {
//这里不会回调
});

是什么原因呢

这个回调函数是需要识别平面后点击平面才会进入的哈

你好,我还有几个问题,一个是

arControl.setAnchorOnClickListener确实能回调了,但是模型没有在该平面加载出来,是我这边调用的smwu数据错了吗,我用的是示例中的BIM/BIM.smwu;

第二个是我在http://support.supermap.com.cn/DataWarehouse/WebDocHelp/iMobileForAndroid/SuperMapObjectsEmbeddedHelp.htm

这个里面看到加载管线的时候有这么一句代码

//不识别平面,直接加载模型

m_sceneControl.load3dModel();

但是我这里并没有这个方法,能否给出具体的实现,谢谢

1.你使用的工作空间是否是切过缓存后的,还有你的数据是否是在平面场景的00点位置
2.该方法目前没有开出来,还是得使用识别平面加载模型哈
好的,谢谢
...