【问题标题】:Android Instant App : Default Activity not foundAndroid Instant App:未找到默认活动
【发布时间】:2017-09-08 16:09:31
【问题描述】:

这似乎是明显的合并错误。我正在尝试将现有代码移植到即时应用程序模块。我试过的是:

  1. 将主应用模块更改为 baseFeatureModule。
  2. 创建了一个新模块 completeApp。
  3. 清空 completeAppModule 的清单:

  4. 在completeAppModule中增加了实现项目入口

    实施项目(“:udofy”)

  5. 在基本模块中添加了这些条目:

    android 块中的 baseFeature 为真

    依赖项中的应用程序项目(“:fullModule”)

我已尝试重建/使缓存无效并重新启动/重新启动工作室,但没有任何帮助。有人可以帮我吗?

【问题讨论】:

标签: android android-instant-apps


【解决方案1】:

基于此thread,Android Studio 的更高版本中没有源选项卡。但是,您可以改为编辑 build.gradle 文件。请参阅此link。还要确保在 AndroidManisfest.xml 文件中指定了默认活动。在默认活动的 xml 部分中,there should be these tags:

<intent-filter>
    <action android:name="android.intent.action.MAIN"/>
    <category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>

【讨论】:

    【解决方案2】:

    对我来说,问题是我使用了 crashlytics 和另一个调试实用程序,它们不能很好地与即时应用程序配合使用。这导致清单合并失败。当我删除 Crashlytics 和其他实用程序时,能够成功生成 APK 的清单,并且 Android Studio 能够找到基本功能中存在的默认活动。

    【讨论】:

    • 您能否进一步缩小范围?我看到了同样的问题,我认为也可能与 crashlytics 有关(尽管只在 Android Studio 中发生)
    【解决方案3】:

    我发现,由于基础模块中的 Firebase 插件,Manifest 合并失败。

    选项 1:

    我通过在基本模块“AndroidManifest.xml”中添加以下内容来解决此问题。

    <provider
            android:name="com.google.firebase.provider.FirebaseInitProvider"
            android:authorities="mypackage.firebaseinitprovider"
            android:exported="false"
            tools:node="merge"/>
    

    别忘了替换mypackage

    选项 2:

    将整个&lt;application ...&gt;...&lt;/application&gt;标签复制到应用模块AndroidManifest.xml

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多