所以这就是事情。我想创建几个应用程序,它们看起来完全一样,但只有一个变量应该改变。 我正在寻找一种方法来创建一个库并将其导入所有其他应用程序,而不是更新大量的应用程序,我只能更新库。
有什么想法可以实现这样的事情吗?也许使用元数据?
由于
答案 0 :(得分:2)
除了CommonsWear's answer,正确的如果你正在使用Android Studio,你所需要的东西也可以在Eclipse中实现 - 尽管还有一些工作。
您需要创建一个“库应用程序”(见下图),它应该是您的基础应用程序 - 即您希望成为所有子应用程序的公共代码库的应用程序。
完成此操作后,您应该创建一个使用基础应用程序库的新 Android项目(子应用程序)(参见下面的示例图片)
子应用中的任何值(即字符串,样式等)都会从父库应用 /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>
,package
和android:versionCode
。它可以使用以下修改后的值启动您的库:
android:versionName
作为Eclipse,这个 稍微复杂一点,但是如果你设法正确设置,那么就可以快速轻松地创建子应用(但不是那么容易gradle这个!)。
答案 1 :(得分:1)
使用Android Studio和Gradle for Android创建一个应用。为该应用创建多个product flavors。 Use buildConfigField
定义&#34;变量&#34;根据味道而变化。当您为自己的风格构建时,您将获得具有您所寻求的变量定义的应用程序,以及您在该产品风格中覆盖的任何其他内容(例如,图标,app_name
)。