【问题标题】:Android - Using a complete application as a libraryAndroid - 使用完整的应用程序作为库
【发布时间】:2017-04-06 13:51:12
【问题描述】:

我开发了一个完整且可工作的应用程序,从现在开始称为“base-app”,它使用不同的模块和库,具有启动屏幕、活动、片段等等......

我想开发另一个应用程序(将来不止一个),它使用这个基础应用程序并添加更多活动和功能。 base-app 它不是真正的库,因为可以独立执行。但我需要为客户添加定制。

而且我不想在每个新项目中克隆这个应用程序,因为对于基本应用程序的每次更改,我都应该修改所有派生项目。

有没有办法做到这一点?使用这个基础应用程序作为起点,使用它的启动器,但为每个客户添加不同的活动?

谢谢

【问题讨论】:

    标签: android android-studio gradle android-library


    【解决方案1】:

    我们为我们的两个应用设置了类似的设置,您需要执行以下操作:

    1. base-app标记为库(右键单击项目名称以访问属性对话框)
    2. 创建一个新应用程序 - base-wrapper - 让它使用 base-app 库,并将 AndroidManifestbase-app 复制到 base-wrapper
    3. 创建一个新应用程序 - extended-wrapper - 让它使用 base-app 库,再次从 base-app 复制 AndroidManifest,然后将所需的任何新活动/服务添加到该项目中。

    所以现在您有 2 个可以构建到 apk 的应用程序,它们都使用 base-app 库中的相同共享代码,因此您不需要复制任何代码。

    如果有一些你只需要在base-wrapper 中的活动或代码,你可以将它们从库中移到包装应用程序项目中。

    【讨论】:

    • 有效,在 android studio 2.3 上没有办法“标记为”,但我解决了在 build.gradle 中添加应用插件:'com.android.library'。然后将 base-app 库导入新项目,修改 setting.gradle 定义子项目: def subprojects = [ [[name:':base-app', path:"C:/software/base-app"] ]
    • 是的,似乎他们在某些更新中删除了“库”复选框,我有一段时间没有使用它了...
    猜你喜欢
    • 1970-01-01
    • 2011-04-26
    • 1970-01-01
    • 2011-10-19
    • 1970-01-01
    • 2012-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多