如何将library项目打包成jar文件

时间:2021-11-18 22:24:33

File - new Module - Android Library  - finish

这样就创建了一个library项目。

这里比较libaray/build.gradle与application/build.gradle的不同之处,很清楚,就不多说了。

libaray/build.gradle

apply plugin: 'com.android.library'

android {
compileSdkVersion 21
buildToolsVersion "21.1.2"

defaultConfig {
minSdkVersion 15
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
}


application/build.gradle

apply plugin: 'com.android.application'

buildscript {
repositories {
jcenter()
}

dependencies {
classpath 'com.android.tools.build:gradle:1.0.0'
}
}

repositories {
jcenter()
}

dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile project(':library')
}

android {
compileSdkVersion 21
buildToolsVersion "21.1.2"

sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
}
}


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

//task to delete the old jar
task deleteOldJar(type: Delete) {
delete 'release/AndroidPlugin.jar'
}

//task to export contents as jar
task exportJar(type: Copy) {
from('build/intermediates/bundles/release/')
into('release/')
include('classes.jar')
///Rename the jar
rename('classes.jar', 'AndroidPlugin.jar')
}

exportJar.dependsOn(deleteOldJar, build)

然后sync Now 或者 sync gradle message。

按下图操作

如何将library项目打包成jar文件

展开mylibrary,找到exportJar,双击开始打包。

如何将library项目打包成jar文件


最后jar包存放的路径在

如何将library项目打包成jar文件

看项目结构,可以去对应的文件夹找到。


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

还是以上面为例:

复制AndroidPlugin.jar到libs目录

右键单击libs目录下的jar文件 > add as library

这样就成功引入jar文件了。


现在如何删除libs下的jar文件?

我试着选中jar文件后点击右键delete,发现无法删除。

那就换一种方式。如下图操作:

如何将library项目打包成jar文件

这样就删除了对jar文件的引用,然后重复以上操作,点击右键-delete,这次就可以删除了。