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
猜你喜欢
- 在C#的继承中尝尝会用到相关的修饰词:override和new。这两个修饰符都可以在新的子类中,重写同名的父类方法。
- 关于这三个关键字之前可以研究一下原本的一些操作using System;using System.Collections.Generic;u
- ${project.basedir}的使用<project> 是 pom.xml 的根节点,project.basedir 就是
- 迪杰斯特拉算法迪杰斯特拉算法是由荷兰计算机科学家狄克斯特拉于1959 年提出的,因此又叫狄克斯特拉算法。是从一个顶点到其余各顶点的最短路径算
- 前言关于链表这一块,写了多篇博客,学习了顺序表、单链表、及其一些练习题顺序表:传送门:顺序表单链表:传送门:单链表1
- 前言Spring 框架作为一个管理 Bean 的 IoC 容器,那么 Bean 自然是 Spring 中的重要资源了,那 Bean 的作用域
- OpenFeign介绍一开始,我们使用原生的 DiscoveryClient 发现服务和使用RestTemplate进行服务间调用,然后我们
- 本文最终结果大概是这样的,使用java技术随机生成10个数,然后填充一个数组并在消息框中显示数组内容,接着对数组求和输出,将结果显示在消息框
- Spring EL表达式语言,支持在XML和注解中表达式,类是于JSP的EL表达式语言。在Spring开发中经常涉及调用各种资源的情况,包含
- 本文实例为大家分享了Android端实现文件上传的具体代码,供大家参考,具体内容如下1)、新建一个Android项目命名为androidUp
- C#中有一个字符串拆分函数String.Split(),可以用于将一个字符串,拆分为一个字符串数组。在拆分的时候,需要一个拆分的“分隔符”。
- 本文实例讲述了C#遍历指定目录下所有文件的方法。分享给大家供大家参考。具体分析如下:先通过DirectoryInfo打开指定的目录,然后通过
- java 使用foreach遍历集合元素的实例1 代码示例import java.util.*; public class ForeachT
- String.indexOf的模拟实现,没想象中有多么高深的查找算法,就是最普通的遍历查找思路:先找到第一个相同的字符,然后依次比较后面的字
- 一般来说,在更新DataTable或是DataSet时,如果不采用SqlParameter,那么当输入的Sql语句出现歧义时,如字符串中含有
- 顺序结构按照代码书写的顺序一行一行执行分支结构if 语句基本语法形式:if(布尔表达式){ //条件满足时执行代码
- 在实际项目中,Java有时候需要调用C写出来的东西,除了JNI以外,我认为一种比较好的方法是JAVA调用Shell。先把C写出来的make成
- 今天看见一个Android 扑克卡片翻转效果的帖子,于是手痒想学一学,由于接触过的Animation动画等比较少,所以感觉很新奇。首先,说一
- 一、显式锁什么是显式锁?由自己手动获取锁,然后手动释放的锁。有了 synchronized(内置锁) 为什么还要 Lock(显示锁)?使用
- 代码很简单,这里就不多废话了,直接奉上代码using UnityEngine;using System.Collections;public