Как отладить «java.lang.NoSuchMethodError» в kotlin для анимации сцены в Kotlin? - PullRequest
0 голосов
/ 29 июня 2019

Я пытаюсь выучить программирование дополненной реальности в Котлине.Я решил сделать анимацию сцены.Основные примеры работали, как и ожидалось, пока я не решил добавить анимацию в микс.При запуске приложения происходит сбой с ошибкой «java.lang.NoSuchMethodError: нет виртуального метода setUpdateMode (Lcom / google / ar / core / Config $ UpdateMode;) V в классе Lcom / google / ar / core / Config; или егосуперклассы (объявление com.google.ar.core.Config 'появляется в /data/app/com.thyagash.hellosceneform-_6rmQhoIu940ZX2hnqARzQ==/base.apk!classes3.dex) ".Не знаю, как поступить

Я новичок в анимации сцены и вообще в Kotlin, но я попытался пройти через код Java согласно выводу LOGCAT.Я расширил базовый класс ArFragment, чтобы попытаться самостоятельно установить режим обновления, хотя это казалось излишним.Не сработалоЯ следовал за примером на https://github.com/google-ar/sceneform-android-sdk/tree/master/samples/animation, который отлично работает

Как можно отладить такие проблемы?Я что-то здесь упускаю?

build.gradle

implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.0.0'
implementation 'com.google.android.material:material:1.0.0'
implementation 'com.afollestad.material-dialogs:core:3.0.0-rc3'
implementation 'com.afollestad.material-dialogs:bottomsheets:3.0.0-rc3'

// Provides ArFragment, and other Sceneform UX resources:
implementation "com.google.ar.sceneform.ux:sceneform-ux:1.9.0"

implementation 'androidx.appcompat:appcompat:1.0.0'
implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0'

implementation "com.google.ar.sceneform:animation:1.10.0"

При запуске приложения происходит сбой, при этом в LOGCAT появляются следующие сообщения:

2019-06-29 19:55:53.158 3886-3886/com.thyagash.hellosceneform E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.thyagash.hellosceneform, PID: 3886
    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.thyagash.hellosceneform-_6rmQhoIu940ZX2hnqARzQ==/base.apk!classes3.dex)
        at com.google.ar.sceneform.ux.BaseArFragment.initializeSession(BaseArFragment.java:349)
        at com.google.ar.sceneform.ux.BaseArFragment.onResume(BaseArFragment.java:311)
        at androidx.fragment.app.Fragment.performResume(Fragment.java:2498)
        at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManager.java:1501)
        at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)
        at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)
        at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3269)
        at androidx.fragment.app.FragmentManagerImpl.dispatchResume(FragmentManager.java:3241)
        at androidx.fragment.app.FragmentController.dispatchResume(FragmentController.java:223)
        at androidx.fragment.app.FragmentActivity.onResumeFragments(FragmentActivity.java:538)
        at androidx.fragment.app.FragmentActivity.onPostResume(FragmentActivity.java:527)
        at androidx.appcompat.app.AppCompatActivity.onPostResume(AppCompatActivity.java:172)
        at android.app.Activity.performResume(Activity.java:7336)
        at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3953)
        at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3993)
        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:1934)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6940)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:537)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
...