为多个Android应用程序创建模板应用程序

时间:2014-12-30 13:58:12

标签: android android-library

所以这就是事情。我想创建几个应用程序,它们看起来完全一样,但只有一个变量应该改变。 我正在寻找一种方法来创建一个库并将其导入所有其他应用程序,而不是更新大量的应用程序,我只能更新库。

有什么想法可以实现这样的事情吗?也许使用元数据?

由于

2 个答案:

答案 0 :(得分:2)

除了CommonsWear's answer,正确的如果你正在使用Android Studio,你所需要的东西也可以在Eclipse中实现 - 尽管还有一些工作。

您需要创建一个“库应用程序”(见下图),它应该是您的基础应用程序 - 即您希望成为所有子应用程序的公共代码库的应用程序。

Source: Vogella.com

完成此操作后,您应该创建一个使用基础应用程序库的 Android项目(子应用程序)(参见下面的示例图片)

Source: Vogella.com http://www.vogella.com/tutorials/AndroidLibraryProjects/images/xlibrary30.png.pagespeed.ic.C6oekZBznQ.png

子应用中的任何值(即字符串,样式等)都会从父库应用 /res文件夹继承,除非您在其中指定新值子应用 /res文件夹。

e.g。如果libraryapp/res/strings.xml包含

<string name="override_me">Hello</string>

childapp/res/strings.xml包含<string name="override_me">Bonjour</string>

然后运行子应用将返回“Bonjour”,而不是库中定义的内容。

由于子应用程序基本上是一个没有活动的空项目,因此您的子应用程序清单基本上应该是库{<>> 的副本{{1标签应包含子应用的<manifest>packageandroid:versionCode。它可以使用以下修改后的值启动您的库:

android:versionName

作为Eclipse,这个 稍微复杂一点,但是如果你设法正确设置,那么就可以快速轻松地创建子应用(但不是那么容易gradle这个!)。

答案 1 :(得分:1)

使用Android Studio和Gradle for Android创建一个应用。为该应用创建多个product flavorsUse buildConfigField定义&#34;变量&#34;根据味道而变化。当您为自己的风格构建时,您将获得具有您所寻求的变量定义的应用程序,以及您在该产品风格中覆盖的任何其他内容(例如,图标,app_name)。