在我安装的应用版本中,我希望拥有自定义逻辑。 它需要使用完全不同的Activity。 从Google提供的多功能示例应用程序我在已安装的模块中添加了一个带有新活动和一些资源文件的src文件夹。 我还修改了已安装模块中的manifest.xml,以便指向我添加的活动。 不,当我尝试编译它时,似乎它不会包含新的res文件夹文件。我手动需要将它们包含在某个地方吗?
此外,我不明白为什么你需要告诉已安装的模块包含基础项目,因为其他功能项目已经包含它们。而最奇怪的部分是基础项目本身又包括功能和应用程序。它就像一圈内含物。它真是令人困惑......真的想知道我是否是唯一一个对这个奇怪的架构感到非常困惑的人。
答案 0 :(得分:0)
很难确定你想要达到的目标,但AFAIK 您可以通过首先在功能模块中添加此依赖项来检查当前实例是即时应用程序还是可安装应用程序来自定义逻辑
api "com.google.android.instantapps:instantapps:1.0.0"
在代码中检查
isInstantApp(Context context)
答案 1 :(得分:0)
我找到了解决问题的方法。 首先,我应该更好地清理我的用例。基本上我想要的是即时应用程序和可安装应用程序的不同活动。他们分享了很多,但不是一切。可安装的APK确实具有更多扩展功能,因为即时应用程序超轻,没有共享,登录,设置等内容。此外,在某些情况下,可安装的应用程序具有多个screes / feature(具有片段替换)的一个活动,其中,即时应用程序具有每个屏幕/特征的唯一活动。 我不想一直使用isInstantApp。我认为使用尽可能多的共享核心逻辑来分离逻辑是更清晰的。
所以我的可安装应用程序不是功能,它应该可以访问所有依赖项和所有功能逻辑。
我创建了以下模块:
现在功能A和B有" base_feature"作为他们的基础项目。 " base_feature"有" feature_A"和" B"作为其特色项目。 "安装"是一个正常的图书馆"取决于" base_feature"," feature_a"和" feature_b"
到目前为止,效果很好。基本上我有即时和可安装应用程序的单独代码,但大多数逻辑都在两者之间共享。