我有两个项目都在使用Android Studio,一个是server项目,另一个是client项目,同时我有一个library在两个项目中都要使用。
一直以来,在两个项目中我都有一份library代码,在一个项目中改动library代码后,都需要手动拷贝到另一个项目。
今天我要创建一个共享的library项目,在两个Android Studio项目都能同时使用。
调整后的目录结构如下:
src/android/ServerProject
src/android/ClientProject
src/android/MySahredLibrary
创建共享library项目
在src/android/MySharedLibrary下创建Library项目
目录结构如下:
MySharedLibrary/src/main/java/...
/build.gradle
其中build.gradle文件内容如下:
apply plugin: 'com.android.library'
android {
compileSdkVersion 20
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "com.tinkermode.mylibrary"
minSdkVersion 15
targetSdkVersion 20
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar']
}
这跟一般Android library项目差不多,唯一的区别是移除了项目最外层的build.gradle,
本来在最外层的build.gradle中需要定义的buildscript等由包含这个library的父项目提供(比如ServerProject)。
在其他项目中使用library项目
- 首先,我需要在父项目的settings.gradle中引用library项目
// original line
include ':app'
// added this
include ':..:MySharedLibrary'
- 然后在使用library的module中,修改 build.gradle,加入如下行:
dependencies {
...
compile proejct(':..:MySharedLibrary')
}
这样调整后,我们就可以在两个项目中共享library了,还是挺简单的。
本文译自:Share code between projects in Android Studio
本文作者: 阳春面
原文地址:http://www.aswifter.com/2015/06/20/android-studio-share-library/
欢迎关注我的微信公众号,分享Android 开发,IOS开发,Swift开发和互联网内容
微信号:APP开发者
网友评论