美文网首页Android
Android打jar,无法生成jar包的原因,以及具体流程

Android打jar,无法生成jar包的原因,以及具体流程

作者: Tingguang | 来源:发表于2019-05-16 13:55 被阅读0次

前言:Android可以引用jar包和aar包,两者的区别:

jar:只包含了class文件与Mainifest.xml文件 ,不包含资源文件,如图片等所有res中的文件。

aar:包含jar包和资源文件。


一:aar的使用

    步骤一:aar的生成相对简单,编译完成自动生成aar文件,在Module中的build/outputs/aar/目录下

aar目录

   步骤二:拷贝aar文件到需要引用的工程libs下

aar    目录

步骤三:在app中的build.gradle中添加红框中的内容,点击右上角Sync Now,即可使用aar包中的内容了。

aar配置

repositories{

     flatDir{

            dirs'libs'

    }

}

implementation(name:'wdreaderlib',ext:'aar')


二:jar包的生成和使用

首先说下我遇到的坑,Android Studio3.1以后,build/intermediates的目录结构发生了改变,原先的bundle目录不见了,jar包生成的路径改为了build/intermediates/packaged-classes/release/,好了,说下jar包生成的步骤。

步骤一:点击File - > new Module ->选择Android Library -> next -> finish创建Mudule

步骤二:在你的Module中的build.gradle插入以下代码

dependencies {

implementation fileTree(dir: 'libs', include: ['*.jar'])

}

//Copy类型

task makeJar(type: Copy) {

//删除原有jar文件

delete 'build/libs/updatelib.jar'

//设置拷贝文件

from('builbuild/intermediates/packaged-classes/release/')

//打进jar包后的文件目录

into('build/libs/')

//将classes.jar放入build/libs/目录下

include('classes.jar')

//重命名

rename ('classes.jar', 'updatelib.jar')

}

makeJar.dependsOn(build)


然后打开Terminal,输入gradlew makeJar

如果你的AndroidStudio 重来没有生成过Jar包第一次会比较慢,成功之后会出现下图所示

在你的build/libs下就生成了jar包,可以把jar包拷贝到需要用到的项目中去,就不一一介绍了。

三:Library中引入aar报错问题解决方法

如图:module2引用module1,module1引用wdreaderlib.aar


需要在ylzykt52drivervice中的build.gradle中添加如下代码,才不会引起报错

repositories {

      flatDir {

         dirs'libs','../ylzykt52drivelib/libs'

    }

}

注意:是在最外层引入,如果ylzykt52drivervice上层还有module,就在上层的build.gradle中引用代码

相关文章

网友评论

    本文标题:Android打jar,无法生成jar包的原因,以及具体流程

    本文链接:https://www.haomeiwen.com/subject/dtgawxtx.html