即时应用程序基础功能的 Application.onCreate() 从未调用过

instant app base feature's Application.onCreate() never called

基本上我有一个用 Kotlin 和 Dagger2 编写的项目。我正在尝试实现一个基本功能。大多数示例不指定 <application android:name=".MyApplication" .... >。我需要使用 Application 对象从 MyApplication.onCreate() 调用 android Injector,但是从我的调试器中我从未看到 MyApplication 对象被调用。所以,我的 activity 无法注入对象。

我尝试使用 tools:replace 来使用另一个 Application 对象,但仍然没有成功 ()。

请帮忙。

AndroidStudio 调试器可能会遗漏一些在应用程序生命周期早期发生的事情——我们正在努力解决这个问题。

我尝试创建一个 MyApplication,它只在 onCreate() 中记录一些内容,并且显示了日志语句。

在 Google root 开发人员的帮助下导致(Android 架构组件相关)问题,该问题现已解决。有关详细信息,请参阅 issue 65989760。 - activity 的构造函数无法获得应用程序对象。它必须在 activity.onCreate() 上完成。 - 因此,我将声明为 Kotlin var 的逻辑移至 onCreate() 并解决了问题。

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    viewModel.orderHistoryLiveData.observe(this, Observer {
        viewModel.listVisible.set(it?.isNotEmpty() ?: false)
    })
}