Я очень плохо знаком с дополненной реальностью и очень плохо знаком с ARCore. Я пытаюсь визуализировать объект сцены, но приложение всегда вылетает и выдает эту ошибку.
java.lang.NoSuchMethodError: No virtual method setUpdateMode(Lcom/google/ar/core/Config$UpdateMode;)V in class Lcom/google/ar/core/Config; or its super classes (declaration of 'com.google.ar.core.Config' appears in /data/app/com.example.firstar-73MXMhLuPjkwTp19W2ZiSQ==/base.apk)
Это мой код:
public class MainActivity extends AppCompatActivity {
ArFragment arfrag=new ArFragment();
ModelRenderable andyRenderable;
private static final double MIN_OPENGL_VERSION = 3.0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
arfrag = (ArFragment) getSupportFragmentManager().findFragmentById(R.id.ARfrag);
arfrag.setOnTapArPlaneListener(
(HitResult hitResult, Plane plane, MotionEvent motionEvent) -> {
if (andyRenderable == null) {
return;
}
Anchor anchor = hitResult.createAnchor();
ModelRenderable.builder()
.setSource(this, Uri.parse("arfox.sfa"))
.build()
.thenAcceptAsync(renderable -> addObject(anchor, renderable))
.exceptionally(
throwable -> {
Toast toast =
Toast.makeText(this, "Unable to load andy renderable", Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
return null;
});
// Create the Anchor.
});
}
private void addObject(Anchor anchor,ModelRenderable model) {
AnchorNode anchorNode = new AnchorNode(anchor);
TransformableNode andy = new TransformableNode(arfrag.getTransformationSystem());
andy.setParent(anchorNode);
andy.setRenderable(model);
arfrag.getArSceneView().getScene().addChild(anchorNode);
andy.select();
}
}
Я получил необходимое разрешение камеры и добавил зависимости, необходимые для работы ARcore и Sceneform, приложение вылетает, когда я запустить его. Было бы здорово узнать причину этой ошибки.
Спасибо.