为现有应用程序创建即时应用程序

时间:2019-01-16 10:49:34

标签: android android-studio android-activity android-instant-apps

我有一个应用程序想要为其创建一个instantApp。 我成功地将更改应用于项目,并且构建成功。

但是有两个问题: -我无法运行该应用程序,错误是:

Default Activity not found

enter image description here

另一个问题是,当我运行instantApp时,看到一条错误消息,内容为Google Play Store has stoped

enter image description here

我有一个app和两个Instant App Feature Modulebase的{​​{1}}。

这些是我的功能清单:

feature

2 个答案:

答案 0 :(得分:1)

我终于找到了问题和解决方案:

问题与AppCompact依赖有关:

implementation 'androidx.appcompat:appcompat:1.0.2'

存在冲突,我不得不使用api而不是implementation

api 'androidx.appcompat:appcompat:1.0.2'

与房间相关性还有另一个冲突:

 implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0'
 kapt 'androidx.lifecycle:lifecycle-compiler:2.0.0'
 implementation 'androidx.room:room-runtime:2.1.0-alpha02'
 kapt 'androidx.room:room-compiler:2.1.0-alpha02'

我也不得不替换为api

 api 'androidx.lifecycle:lifecycle-extensions:2.0.0'
 kapt 'androidx.lifecycle:lifecycle-compiler:2.0.0'
 api 'androidx.room:room-runtime:2.1.0-alpha02'
 kapt 'androidx.room:room-compiler:2.1.0-alpha02'

另一个问题是关于databinding 我刚刚在基本模块中添加了databinding,但在已安装的模块中也需要它:

  dataBinding{
        enabled = true
    }

又是关于room的: 我必须在基本模块的manifest中添加一个提供程序,因为在installed依赖项中使用了这些提供程序,因此我在room模块中的合并清单中出现错误:

<provider
        tools:replace="android:authorities"
        android:name="androidx.lifecycle.ProcessLifecycleOwnerInitializer"
        android:authorities="codenevisha.ir.mvvmwithdagger.base.lifecycle-process"
        android:exported="false"
        android:multiprocess="true"/>

不要忘记添加tools:replace="android:authorities"来代替此提供程序

也希望这些准则也可以。

答案 1 :(得分:0)

基于此thread,如果您看到在升级IntelliJ IDEA或Android Studio版本之后,或者在生成新的APK之后发生错误,则可能需要刷新IDE的缓存。

  

File -> Invalidate Caches / Restart...

这也意味着您没有在AndroidManifest.xml中声明的活动,该活动被标记为在应用程序启动时要启动的主要活动。