Android studio 打包jar包

本文介绍如何使用Android Studio将一个模块(module)打包成jar包,供其他项目使用。通过创建一个名为MakeJarDemo的项目和一个名为common的模块,详细展示了配置依赖、编写打包任务的过程。

  在Android前期的开发时,我们使用的IDE工具大多是Eclipse,所以对其熟练度相信大家都是OK的,所以对于如何将一个项目导出为jar包,供其它项目使用的操作都是没问题的。
  那么现在问题来了,谷歌新提供的Android Studio工具,也都已经update到2.x版本了,到目前为止,不知道有多少人懂得对module进行打包?至少在我写下这篇文字之前,我都只关心写代码!
  现在,个人实际写了个Demo来证明自己研究过,并且得到了想要的结果。
GitHub地址:点击我可获得Demo

  现在创建一个项目为MakeJarDemo,并New Module为common,项目结构如下图:
项目结构图
其中,app 为主工程,common是要将其打包成jar包的module
步骤1:实现依赖
可在app module中的build.gradle中编写

compile project(':common')

实现app module对common module的依赖,完整代码如下:

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'
    })
    testCompile 'junit:junit:4.12'
    compile project(':common')
}

也可以通过下图步骤实现:
这里写图片描述

这里写图片描述

步骤1:在Module中编写task
在我们编译完工程之后,对应module中的所有java文件都已经生成了包含class 的classes.jar包,所在目录如下图:
这里写图片描述
  由于要打包的是common module,所以在common的build.gradle中增加如下代码:

//Copy类型
task makeJar(type: Copy) {
    //删除存在的
    delete 'build/libs/mysdk.jar'
    //设置拷贝的文件
    from('build/intermediates/bundles/release/')
    //打进jar包后的文件目录
    into('build/libs/')
    //将classes.jar放入build/libs/目录下
    //include ,exclude参数来设置过滤
    //(我们只关心classes.jar这个文件)
    include('classes.jar')
    //重命名
    rename ('classes.jar', 'mysdk.jar')
}

makeJar.dependsOn(build)
//在终端执行生成JAR包
// gradlew makeJar

  该task实现将对应的classes.jar 导出到对应Module的build/libs/下,并修改名字为mysdk.jar ( 名字随意)。
  在完成以上步骤后,在android studio 提供的Terminal中键入 gradlew makeJar 回车看到如下所示就表示导出成功:

:commonutils:assembleReleaseUnitTest
:commonutils:testReleaseUnitTest                                     
:commonutils:test
:commonutils:check
:commonutils:build
:commonutils:makeJar

BUILD SUCCESSFUL

Total time: 29.936 secs
D:\Developer\WorkspaceLocal\MakeJar>

其中打包出来的mysdk.jar所在目录如下图:
这里写图片描述

  再此,一个可以提供给其他项目使用的jar包就实现了,那么在其他项目中的引用,只需把该jar包放在对应module中的libs中,并添加依赖即可使用。
声明:打出来的jar只有源代码的.class 文件,不包含资源文件

### 如何在 Android Studio 中创建和导出 JAR 要在 Android Studio 中创建并导出 JAR 文件,可以通过以下方法实现: #### 配置 `build.gradle` 文件 首先,在项目的 `build.gradle` 文件中添加自定义任务来支持 JAR 的构建过程。以下是具体的配置方式[^2]: ```gradle android { sourceSets { main { jniLibs.srcDirs = ['libs'] } } } task makeJar(type: Jar) { archiveBaseName.set('sp-lib') // 设置生成的 JAR 文件名称 from android.sourceSets.main.java.srcDirs // 指定源码路径 destinationDir file("$project.buildDir/libs") // 输出目录 } ``` 上述代码片段通过 Gradle 构建工具定义了一个名为 `makeJar` 的任务,用于将指定的 Java 源文件打包JAR。 #### 同步项目 完成 `build.gradle` 文件修改后,点击 **Sync Now** 进行同步操作。这一步非常重要,因为只有成功同步才能使新添加的任务生效[^4]。 #### 执行 JAR 构建任务 打开 Android Studio 的右侧边栏中的 **Gradle** 工具窗口,找到对应模块下的 Tasks -> other 节点,双击运行刚刚定义好的 `makeJar` 任务。执行完成后会在设定的目标路径下生成所需的 JAR 文件[^1]。 #### 检查生成结果 为了确保最终得到的是完整的 JAR 文件,请确认编译后的 `.class` 文件存在于特定位置,通常位于 `build/intermediates/javac/release/classes/` 下面所属名对应的子目录里[^3]。如果有缺失,则需调整资源定位设置重新尝试。 --- ### 注意事项 当涉及外部依赖库时,应将其放置于正确的位置(如 libs 文件夹),并通过适当的方式引入至工程之中以便一并被打包进入最后的结果当中去。 ```java // 示例:假设有一个简单的类需要被含进JAR内 public class ExampleClass { public String getMessage() { return "This is a test message."; } } ``` 此段代码展示了一个基本的例子供测试验证所用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值