在AS中有两种包:jar包和aar包
jar包:只包含了class文件与清单文件 ,不包含资源文件,如图片等所有res中的文件。
aar包:包含jar包和资源文件,如图片等所有res中的文件。
一、jar包的导出
导出
创建一个Library模块
新建库,File——New——New Module——Android Library
编译或生成工程,Build——Make Module
获取jar包,在build\intermediates\bundles\release目录下的classes.jar
二、aar包的导出
将App模块转换成Library模块
1.打开一个存在的App模块的build.gradle文件,在文件的上面,你可以看到:
apply plugin:'com.android.application'
- 改变如下:
apply plugin:'com.android.library'
- 点击Sync Project with Gradle Files.
这样就好了.这个模块的整个结构保持相同, 但它现在作为一个Android library, 编译将会创建一个AAR文件而不是一个APK文件.
记录下导出jar包的过程。
主要参考这个链接:
http://blog.csdn.net/ta893115871/article/details/46955791/
但是有修改的地方,这里目录不一样。在执行命令之前,并且需要编译一下,这样才会生成对应的default目录。
还有就是windows中执行的命令是
gradlew makeJar
最后成功的图片:
apply plugin: 'com.android.library'
android {
compileSdkVersion 26
buildToolsVersion "26.0.1"
defaultConfig {
// applicationId "com.demo.rk3368ledcontrol"
minSdkVersion 15
targetSdkVersion 26
versionCode 1
versionName "1.0"
ndk {
moduleName = "AndroidNDK"
abiFilters "armeabi", "armeabi-v7a", "x86"
ldLibs "log"
}
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.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:26.+'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'
}
task makeJar(type: Copy) {
//删除存在的
delete 'build/libs/ledcontrol.jar'
//设置拷贝的文件
from('build/intermediates/bundles/default/')
//打进jar包后的文件目录
into('build/libs/')
//将classes.jar放入build/libs/目录下
//include ,exclude参数来设置过滤
//(我们只关心classes.jar这个文件)
include('classes.jar')
//重命名
rename ('classes.jar', 'ledcontrol.jar')
}
makeJar.dependsOn(build)
生成aar文件并引用
http://blog.csdn.net/chenliguan/article/details/51405232
参考链接:
http://blog.csdn.net/JQ_Motee/article/details/53173110
http://www.jianshu.com/p/8248b8a32968
http://www.jianshu.com/p/8fb1c58ac27a
http://blog.csdn.net/a10615/article/details/51649520
http://www.jianshu.com/p/32cdfd323c56
http://blog.csdn.net/ta893115871/article/details/46955791/