用Android studio2.3打jar包失败,没有生成相应的jar包。

本文详细介绍了在Android Studio 2.3中创建并打包Android Library为jar包的步骤,包括选择正确模块类型、编写代码、Gradle配置以及两种生成jar包的方法。特别指出,更新后的AS使用'default'目录而非'release',避免了找不到jar包的问题。同时,指出了命令行生成jar包时应使用'gradlew makeJar',而非错误的'gradview makeJar'。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android开发过程中,有时需要将我们的某些功能打成jar包给其他人使用,这样的文章也不在少数,下面我将我在打包的过程中遇到的问题以及打包流程说一下,供需要的各位参考:
Android studio(以下简称as)的菜单栏下依次打开File->New->New Module:
图1.

接下来在弹出的窗口中选择"Android Library"选项,注意:不要选择"Java Library",试过了,貌似不行的。

图2.


选择完“Android Library”以后进入下一步后输入你想要的类库的名字以后接着finish就行了。如下图,类库的名字前的文件夹都是几本书的样子,而可运行的APP的图标是一个手机。

图3.

在类库的/src/main/java目录下编写自己的代码,编写完后Make 一下类库模块其实就会生成默认名为classes.jar的jar包了,可以直接用了,默认在类库的\build\intermediates\bundles\debug目录下。

图4.

图5.

一般的,我们会给这个jar包自定义名字,方式之一就是拷贝出classes.jar文件手动更名,另一种方式就是在gradle中进行配置,以后再生成jar包的时候比较方便。下面说如何配置:
在类库的build.gradle文件最末尾的位置添加如下代码:

task makeJar(type: Copy) {
    delete 'build/libs/demo.jar'
    from('build/intermediates/bundles/default/')
    into('build/libs/')
    include('classes.jar')
    rename('classes.jar', 'demo.jar')
}
makeJar.dependsOn(build)
然后通过下图解释一下每行的作用。

图6.

配置好以后就可以编译jar包了,有两种方式:
①点击as右侧(一般在这个位置)的Gradle面板(这个面板中都是Gradle的工具,很好),在项目或者该类库的目录中找到Tasks->other->makeJar命令,双击这个makeJar之后等一会就会编译好你想要的jar包了.

图7.
②通过命令行,在项目根目录下,执行gradlew makeJar命令,看到编译完成的信息以后就OK了,也能生成一样的jar包,和直接使用①中的方式是等价的。但是之前要配置好gradle的环境变量,否则直接在项目根目录下找不到这个命令。配置环境变量的方式请看:http://blog.youkuaiyun.com/builder_taoge/article/details/70172170

图8.

图9.成功打包。


note:
<1>对于图6中配置代码部分,有的文章中写的路径是from('build/intermediates/bundles/release/'),注意粗体部分,最初我也是按照这个目录写的,确实没问题。但后来,也就是as更新到2.3以后,发现这个目录没有了,取而代之的是default和debug目录,debug目录之前也是有的,没有变化,只是原来的release目录被现在的default目录代替了。这导致我后来生成jar包的时候始终没有找到jar包,我以为是生成的jar包的存放路径改变了,但是一直没找到。后来发现,原因就是没有了release目录,找不到默认的classes.jar文件,所以也就没有生成自定义名字的jar包,改为default或者debug目录以后就能正常生成jar包了,要注意这点变化。
<2>如果用命令行的方式生成jar包,有的文章中写的命令是gradview makeJar,我试过,没有该命令,可能是文章编辑的时候作者误写错,或者不知道是不是我哪里没用对,留待后来人验证。但是gradlew makeJar命令是可以的。





评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值