我有一个现有的 Android 应用程序。
我想从现有的应用程序中提取另一个应用程序,以便它只包含原始活动的某个子集。
什么是最好的方法/方法?
这两个应用程序将同时被积极维护,那么最佳方式是什么,以便尽可能减少开销?
我的开发环境是 Android Studio + gradle ...我应该创建另一个变体吗?..从那时起,我应该只定义源文件夹吗?我可以只更改 AndroidManifest 并使用原始活动的子集吗?
谢谢
我有一个现有的 Android 应用程序。
我想从现有的应用程序中提取另一个应用程序,以便它只包含原始活动的某个子集。
什么是最好的方法/方法?
这两个应用程序将同时被积极维护,那么最佳方式是什么,以便尽可能减少开销?
我的开发环境是 Android Studio + gradle ...我应该创建另一个变体吗?..从那时起,我应该只定义源文件夹吗?我可以只更改 AndroidManifest 并使用原始活动的子集吗?
谢谢
可能您能做的最好的事情是将应用程序的公共部分(在本例中为活动)提取到库项目中,然后,如果您需要具体应用程序中的特定行为,只需从公共类中子类化以满足您的需求。
我最终采用的方法是创建一个像这样的新变体:
flavorGroups "features"
productFlavors {
normal {
flavorGroup "features"
}
stripped {
packageName "other.package"
flavorGroup "features"
}
}
我只是通过从每个变体发送不同的意图来更改活动转换(我为每个变体创建了单独的源文件夹,即
src/main、src/stripped、src/normal 等。
我相信这是最快的方法,并且具有能够自定义常见活动中的小部分的优势,而不是提取库项目并拥有相同活动的两个副本只是为了进行小的自定义。