Android 开发中对aar包和.jar包的使用必不可少,下面来总结一下
新建一个项目为MyaarTest的工程,在file–>new moudle–>选择Androidlibrary创建一个名称为aartest的library,在这里定义自己的代码;
其中生成aar包的方式有两种,一直是直接运行程序,另外一种是如上图所示
aar包的引用:
在app的build中添加如下代码:
其中
//引用libs文件夹
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
...
//'jsbridge-release'表示aar的包名,ext:'aar'表示包的类型
implementation(name: 'jsbridge-release', ext: 'aar')
...
}
然后刷新下gradle 点击出现的sync即可
Android studio打包生成 .jar文件
新建一个moudle,然后打开该moudle目录下的build.gradle添加如下代码
task makeJar(type: org.gradle.api.tasks.Copy){
//首先删除该目录下的名字为JarTest.jar的jar包
delete 'build/libs/JarTest.jar'
//从这里创建
from('build/intermediates/bundles/release/')
//生成到这里
into('build/libs/')
//jar不能打包res资源,只能打包.class文件
include('classes.jar')
//重新命名为JarTest
rename('classes.jar','JarTest.jar')
}
makeJar.dependsOn(build)
整体build.gradle代码如下
apply plugin: 'com.android.library'
android {
compileSdkVersion 26
defaultConfig {
minSdkVersion 16
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
task makeJar(type: org.gradle.api.tasks.Copy){
delete 'build/libs/JarTest.jar'
from('build/intermediates/bundles/release/')
into('build/libs/')
include('classes.jar')
rename('classes.jar','JarTest.jar')
}
makeJar.dependsOn(build)
然后点击as右侧的gradle按照图中所示操作
或者在命令行中输入:gradlew makeJar
如下图所示:
jar的使用:
把jar包拷贝到你要使用的当前project的libs目录下,然后右键单击,选择add as library就行了