Android Studio多工程引用同一個(gè)library項(xiàng)目配置的解決方法
在使用Android Studio開發(fā)的時(shí)候,如遇到多個(gè)項(xiàng)目引用同一個(gè)library的情況時(shí),會遇到在每個(gè)項(xiàng)目中都要有一套library的代碼的情況,對于還在開發(fā)和維護(hù)中的Library需要頻繁的修改,這對同步就很麻煩,為了解決這個(gè)問題,出現(xiàn)了下面的解決方案。
首先:新建一個(gè)類庫工程,工程名為AppLibs.Dev。
在該類庫中包含一個(gè)公共的類庫appLibs的Module,Module下面的build.gradle配置如下:
/** 聲明是Android類庫 */ apply plugin: 'com.android.library' android { /** 為了能夠支持該庫中的包 */ useLibrary 'org.apache.http.legacy' /** 編譯SDK的版本 */ compileSdkVersion 25 /** build tools的版本 */ buildToolsVersion "25.0.2" defaultConfig { minSdkVersion 9 targetSdkVersion 25 versionCode 100 versionName "1.0.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { debug { // debug模式 } release { // 是否進(jìn)行混淆 minifyEnabled false // 混淆文件的位置 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } /** 移除lint檢查的error */ lintOptions { abortOnError false } } dependencies { /** compile fileTree將libs文件夾中所有的jar文件全部編譯。該方式和compile files方式選一種即可。 */ // compile fileTree(include: ['*.jar'], dir: 'libs') /** compile files將libs文件夾中單一的jar文件編譯 */ compile files('libs/jsch-0.1.53.jar') compile files('libs/commons-net-3.3.jar') compile files('libs/okhttp-3.2.0.jar') compile files('libs/okio-1.6.0.jar') /** 測試編譯 */ androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) /** 編譯指定包名下面模塊 */ compile 'com.android.support:appcompat-v7:25.2.0' compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha7' /** 單元測試編譯 */ testCompile 'junit:junit:4.12' }
這樣一個(gè)類庫工程就建好了,接下來就是引用包含該類庫的工程。
其次:引用該類庫工程。通過Android Studio新建一個(gè)TestProject的工程,如下圖。
在該工程中需要做以下三件事:
1、在project的settings.gradle里面增加紅框圈住部分的代碼。
2、在module的build.gradle文件中增加紅框圈住部分的代碼:
如果該類庫工程中包含多個(gè)module,那么在settings.gradle文件中原有代碼后面增加下面的代碼即可:
include ':AppLibs.Dev:moduleName'
同時(shí)在APP module中build.gradle增加相應(yīng)的模塊代碼即可:
compile project(':AppLibs.Dev:moduleName')
3、點(diǎn)擊Android Studio的菜單中的Build->Clean Project,完成Clean以后就看到如下圖。
完成如上圖所示以后,表示類庫工程已經(jīng)被APP工程引用進(jìn)去了,這樣以后再修改類庫工程中的源碼,其他引用該類庫的工程中源碼也就同步修改了。
總結(jié)
以上所述是小編給大家介紹的Android Studio多工程引用同一個(gè)library項(xiàng)目配置方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
android圖像繪制(四)自定義一個(gè)SurfaceView控件
自定義控件(類似按鈕等)的使用,自定義一個(gè)SurfaceView。如某一塊的動態(tài)圖(自定義相應(yīng)),或者類似UC瀏覽器下面的工具欄,感興趣的朋友可以了解下2013-01-01解決android studio卡頓,提升studio運(yùn)行速度的方法
這篇文章主要介紹了解決android studio卡頓,提升studio運(yùn)行速度的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03Android實(shí)現(xiàn)ImageView圖片縮放和拖動
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)ImageView圖片縮放和拖動的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11Android中阻止AlertDialog關(guān)閉實(shí)例代碼
這篇文章主要介紹了Android阻止AlertDialog關(guān)閉實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2016-03-03談?wù)凙ndroid6.0運(yùn)行時(shí)的權(quán)限處理
之前有人在 Android 6.0 的機(jī)型上運(yùn)行了DragGridView結(jié)果出異常奔潰了。想必問題的原因大家都知道,是Android 6.0新引入了在運(yùn)行時(shí)權(quán)限申請(Runtime Permissions)的功能。那么這所謂的運(yùn)行時(shí)申請權(quán)限究竟是怎么一回事呢,下面跟著小編一起來看看吧!2016-08-08React Native開發(fā)中自動打包腳本的實(shí)例代碼
這篇文章主要介紹了React Native開發(fā)中自動打包腳本的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-09-09Android實(shí)現(xiàn)單行標(biāo)簽流式布局
這篇文章主要為大家詳細(xì)介紹了Android單行標(biāo)簽流式布局,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-09-09Android 基于IntentService的文件下載的示例代碼
本篇文章主要介紹了Android 基于IntentService的文件下載的示例代碼,具有一定的參考價(jià)值,有興趣的可以了解一下2017-09-09Android Studio導(dǎo)入Eclipse項(xiàng)目時(shí).so庫文件的解決方法
這篇文章主要介紹了Android Studio導(dǎo)入Eclipse項(xiàng)目時(shí)項(xiàng)目中".so"庫文件的解決方法,需要的朋友可以參考下2018-06-06