如何將library項目打包成jar文件

File - new Module - Android Library  - finish

這樣就創建了一個library項目。

這裏比較libaray/build.gradle與application/build.gradle的不同之處,很清楚,就不多說了。

libaray/build.gradle

[plain] view plain copy
 print?
  1. apply plugin: 'com.android.library'  
  2.   
  3. android {  
  4.     compileSdkVersion 21  
  5.     buildToolsVersion "21.1.2"  
  6.   
  7.     defaultConfig {  
  8.         minSdkVersion 15  
  9.         targetSdkVersion 21  
  10.         versionCode 1  
  11.         versionName "1.0"  
  12.     }  
  13.     buildTypes {  
  14.         release {  
  15.             minifyEnabled false  
  16.             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'  
  17.         }  
  18.     }  
  19. }  
  20.   
  21. dependencies {  
  22.     compile fileTree(dir: 'libs', include: ['*.jar'])  
  23.     compile 'com.android.support:appcompat-v7:21.0.3'  
  24. }  


application/build.gradle

[plain] view plain copy
 print?在CODE上查看代碼片派生到我的代碼片
  1. apply plugin: 'com.android.application'  
  2.   
  3. buildscript {  
  4.     repositories {  
  5.         jcenter()  
  6.     }  
  7.   
  8.     dependencies {  
  9.         classpath 'com.android.tools.build:gradle:1.0.0'  
  10.     }  
  11. }  
  12.   
  13. repositories {  
  14.     jcenter()  
  15. }  
  16.   
  17. dependencies {  
  18.     compile fileTree(dir: 'libs', include: '*.jar')  
  19.     compile project(':library')  
  20. }  
  21.   
  22. android {  
  23.     compileSdkVersion 21  
  24.     buildToolsVersion "21.1.2"  
  25.   
  26.     sourceSets {  
  27.         main {  
  28.             manifest.srcFile 'AndroidManifest.xml'  
  29.             java.srcDirs = ['src']  
  30.             res.srcDirs = ['res']  
  31.             assets.srcDirs = ['assets']  
  32.         }  
  33.     }  
  34. }  


找到新建的library目錄下的buidle.gradle,在末尾添加:

[plain] view plain copy
 print?在CODE上查看代碼片派生到我的代碼片
  1. //task to delete the old jar  
  2. task deleteOldJar(type: Delete) {  
  3.     delete 'release/AndroidPlugin.jar'  
  4. }  
  5.   
  6. //task to export contents as jar  
  7. task exportJar(type: Copy) {  
  8.     from('build/intermediates/bundles/release/')  
  9.     into('release/')  
  10.     include('classes.jar')  
  11.     ///Rename the jar  
  12.     rename('classes.jar', 'AndroidPlugin.jar')  
  13. }  
  14.   
  15. exportJar.dependsOn(deleteOldJar, build)  

然後sync Now 或者 sync gradle message。

按下圖操作


展開mylibrary,找到exportJar,雙擊開始打包。



最後jar包存放的路徑在


看項目結構,可以去對應的文件夾找到。


library export jar 完成了,下面看看怎樣引入jar包。

還是以上面爲例:

複製AndroidPlugin.jar到libs目錄

右鍵單擊libs目錄下的jar文件 > add as library

這樣就成功引入jar文件了。


現在如何刪除libs下的jar文件?

我試着選中jar文件後點擊右鍵delete,發現無法刪除。

那就換一種方式。如下圖操作:


這樣就刪除了對jar文件的引用,然後重複以上操作,點擊右鍵-delete,這次就可以刪除了。

發佈了21 篇原創文章 · 獲贊 14 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章