Android打包篇:Android Studio将代码打包成jar包教程

作者:花生11111 时间:2022-08-14 06:22:20 

一、新建一个as项目,再新建一个model模块

然后再app中的build.gradle中添加model的依赖。然后编译项目。

二、编译完成后,打开model下的build——intermediates——bundles目录,目录下有两个文件夹,debug,default,在default文件夹下有一个classess.jar,就是编译完成的jar包,

这里需要主要的是:因为我们使用的 as 版本不一致,所以会导致classess.jar包的目录页会不一样,不过最终的目录还是在build——intermediates——bundles目录下,小伙伴们可以在这个目录下寻找classess.jar文件,确保可以找到这个文件之后,再进行第三步的操作。

三、在确保classess.jar文件存在的情况下,打开model模块的build.gradle文件,在文件中与android模块中添加如下代码,并编译:


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

这里需要注意:上述代码中from括号中的是你的classess.jar的文件目录,这里贴的是我自己的目录,不同的as版本可能导致目录不同,所以小伙伴们在用的时候直接换成你们自己的classess.jar路径即可。

四、编译完成以后,找到as的Terminal命令行,输入以下命令并回车:

gradlew makeJar

出现如下文字后,代表编译成功。

BUILD SUCCESSFUL

导出的jar包在model模块下的build——libs文件夹里面,复制出来方便我们以后使用。

这样我们就将我们自己的代码模块打成jar包了,用的时候直接导入jar包就可以了。

补充知识:Android.mk编译出jar

Android.mk编译出jar

Android.mk文件配置


LOCAL_PATH:= $(call my-dir)
#make jar
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_MODULE := mytestjar
include $(BUILD_JAVA_LIBRARY)

#include $(BUILD_STATIC_JAVA_LIBRARY)

在当前项目中执行mm命令(在此之前要执行sourse build/envsetup.sh)

BUILD_JAVA_LIBRARY和BUILD_STATIC_JAVA_LIBRARY区别

BUILD_JAVA_LIBRARY编译出来的jar包,里面是DEX格式的文件,如果用户想用这个jar包放到Eclipse来做Android APP的开发,Eclipse是不认识这种格式的文件的,通常会报错:Conversion to Dalvik format failed with error 1

BUILD_STATIC_JAVA_LIBRARY编译出来的jar包,里面每个java文件对应的class文件都单独存在,顾名思义,每个java文件里面用到的变量都被静态编译到了class内部,这种格式的jar包可以在Eclipse里面导入并正常使用,但是可能存在一定的兼容性隐患

来源:https://blog.csdn.net/qq_35373333/article/details/76055556

标签:Android,Studio,打包,jar包
0
投稿

猜你喜欢

  • selenium+java破解极验滑动验证码的示例代码

    2022-11-19 21:52:01
  • C#微信公众号开发之用户管理

    2023-04-13 02:40:12
  • 以Java代码的方式总结几个典型的内存溢出案例

    2023-06-11 04:00:56
  • Android RecyclerView 实现快速滚动的示例代码

    2023-02-17 05:32:50
  • Java毕业设计实战之生活旅行分享平台的实现

    2022-02-01 02:42:18
  • Android中TabLayout+ViewPager实现tab和页面联动效果

    2022-02-23 22:41:49
  • Android studio设置文件头定制代码注释的方法

    2021-07-23 16:52:41
  • Java集合Stream流操作的基本使用教程分享

    2023-09-01 01:05:03
  • Android运用BroadcastReceiver实现强制下线

    2021-07-20 19:49:29
  • java实现简单的扫雷小游戏

    2022-09-14 19:23:24
  • java基础检查和未检查异常处理详解

    2023-10-25 11:10:25
  • Android编程实现XML解析与保存的三种方法详解

    2022-04-15 00:39:01
  • Android可自定义神奇动效的卡片切换视图实例

    2022-11-24 09:07:46
  • 详解Java中的Lambda表达式

    2021-08-17 00:06:00
  • C#实现XML文件操作详解

    2023-07-16 12:36:52
  • Android Flutter实现五种酷炫文字动画效果详解

    2023-06-27 02:57:16
  • C#在DataTable中根据条件删除某一行的实现方法

    2022-03-09 05:34:19
  • Java中Spring Boot+Socket实现与html页面的长连接实例详解

    2022-12-24 12:06:12
  • Unity实现简单手势识别

    2022-10-14 07:52:05
  • Java 滑动窗口最大值的实现

    2021-09-10 15:34:20
  • asp之家 软件编程 m.aspxhome.com