我正在构建一个有两个版本的 android 应用程序,一个是免费的,另一个是付费的。
由于两个版本的大部分 UI 和功能是相同的,所以我创建了一个 Android 库项目来保存应用程序的常用组件,包括common Activity
、View
、和.Layout
Resources
AndroidManifest.xml
库项目名为MapBase
.
然后我创建了两个名为MapForFree
和的模块(android 应用程序) MapForPaid
。
结构:
+MapProject
+MapBase
build.gradle
+MapForFree
build.gradle
+MapForPaid
build.gradle
build.gradle(with empty content)
settings.gradle(content==> include ':MapBase', ':MapForFree', ':MapForPaid')
MapBase/build.gradle:
apply plugin: 'android-library'
.....
dependencies {
compile 'com.android.support:appcompat-v7:18.0.0'
compile 'com.android.support:support-v4:18.0.0'
compile fileTree(dir: 'libs', include: '*.jar')
}
MapForFee/build.gradle:
...
apply plugin: 'android'
...
现在我想用MapForFree
andMapForPaid
来引用MapBase
模块,但是我遇到了两个问题:
1 引用方式。
我应该在 build.gradle 文件中设置依赖关系还是使用 android stuido 本身?
2 AndroidManifest.xml。
由于MapForFree
andMapForPaid
模块具有相同的 AndroidManifest.xml,所以我从MapBase
.
但是,该文件声明了MapBase
模块中定义的一些活动。如何解决这个问题?