我有兩個項目都在使用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了,還是挺簡單的。
本文作者: 陽春麪
原文地址:http://www.aswifter.com/2015/06/20/android-studio-share-library/歡迎關注我的微信公衆號,分享Android 開發,IOS開發,Swift開發和互聯網內容
微信號:APP開發者