Moxy Fatal Exception - Исключение из метода загрузки сайта вызова # 0 - PullRequest
0 голосов
/ 30 сентября 2019

Пример кода из Moxy не работает https://github.com/moxy-community/Moxy Исходный код разделен на разные файлы, но теперь представлен для менее сложного представления

Пустое приложение (без чего-либо с MVP, оно имеет только однопустой экран) работает, но если я добавляю код, как в примере, он вылетает с фатальным исключением (см. ниже)

interface ExplorerView : MvpView {
    @StateStrategyType(AddToEndSingleStrategy::class)
    fun foo()
}

@InjectViewState
class ExplorerPresenter : MvpPresenter<ExplorerView>() {
    fun loadFiles() {}
}

class ExploreActivity : MvpAppCompatActivity(), ExplorerView {
    @InjectPresenter
    internal lateinit var explorerPresenter: ExplorerPresenter

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_explorer)
        isPermissionsGranted()
    }

    private fun isPermissionsGranted() {
        explorerPresenter.loadFiles()
    }
}
E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.birdyteam.filesexplorer, PID: 19725
    java.lang.BootstrapMethodError: Exception from call site #0 bootstrap method
        at moxy.MvpDelegate.<clinit>(MvpDelegate.java:37)
        at moxy.MvpAppCompatActivity.getMvpDelegate(MvpAppCompatActivity.java:76)
        at moxy.MvpAppCompatActivity.onCreate(MvpAppCompatActivity.java:27)
        at com.birdyteam.filesexplorer.presentation.ui.ExploreActivity.onCreate(ExploreActivity.kt:28)
        at android.app.Activity.performCreate(Activity.java:7136)
        at android.app.Activity.performCreate(Activity.java:7127)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
        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: java.lang.ClassCastException: Bootstrap method returned null
        at moxy.MvpDelegate.<clinit>(MvpDelegate.java:37) 
        at moxy.MvpAppCompatActivity.getMvpDelegate(MvpAppCompatActivity.java:76) 
        at moxy.MvpAppCompatActivity.onCreate(MvpAppCompatActivity.java:27) 
        at com.birdyteam.filesexplorer.presentation.ui.ExploreActivity.onCreate(ExploreActivity.kt:28) 
        at android.app.Activity.performCreate(Activity.java:7136) 
        at android.app.Activity.performCreate(Activity.java:7127) 
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271) 
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893) 
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048) 
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) 
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) 
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) 
        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) 

1 Ответ

0 голосов
/ 01 октября 2019

Включите функции Java8 в вашем файле build.gradle:

android {
  ...
   // Configure only for each module that uses Java 8
   // language features (either in its source code or
   // through dependencies).
   compileOptions {
     sourceCompatibility JavaVersion.VERSION_1_8
     targetCompatibility JavaVersion.VERSION_1_8
   }
   // For Kotlin projects
   kotlinOptions {
     jvmTarget = "1.8"
   }
}

См. здесь для полной документации.

...