手动封装jar包并导入AndroidStudio项目使用

技术流Clip 专栏收录该内容
26 篇文章 0 订阅

手动封装jar包并导入AndroidStudio项目使用

JAR文件(Java Archive)是一种软件包文件格式,通常用于聚合大量的Java类文件、相关的元数据和资源(文本、图片等)文件到一个文件,以便开发Java平台应用软件或库。jar文件其实就是zip文件,与zip文件的区别在于,它在被生成的时候会自动创建一个MANIFEST.MF文件,该文件主要描述所在jar包的部署信息。

某些写好的接口类或者实体类,一般都是不需要改动的,所以可以将它们封装成jar包,直接引入到项目使用,使得项目中代码层次分明,便于维护。

封装jar包

  1. 创建文件夹com/example/test,创建A.java和B.java
package com.example.test;

public class B {
	public void M() {
    	System.out.println("Hello World! This is B");
	}
}
package com.example.test;

public class A {
  	public static void main(String[] arg) {
    	B b = new B();
    	b.M();
    	System.out.print("Hello World! This is A"); 
  	}
}
  1. 编译运行:使用cmd命令窗指令封装

Java文件中含包名,我们需要建立相关文件夹模拟包路径,将java文件放在对应包路径的文件夹中
编译:javac com\example\test\A.java
运行:java com\example\test\A

编译完成后生成A.class和B.class

Java文件中不含包名
编译javac A.java;
运行java A

  1. 打包jar包和输出API文档

使用javadoc 输出API文档:在doc文件中生成API文档,查看index.html
javadoc .\com\example\test\*.java -d doc

生成jar包:文件夹中只需要编译生成的*.class文件
jar -vcf test-jar.jar *

运行jar包
java -jar test-jar.jar

运行报错:test-jar.jar中没有主清单属性

jar包中的META-INF文件夹下的MANIFEST.MF文件缺少定义jar接口类,也就是没有指定class类。这里的MANIFEST.MF就是一个清单文件,用来配置程序的一些信息。

在生成的jar包中修改文件META-INF/MANIFEST.MF,使用压缩工具打开,添加Main-Class: com.example.test.A,注意Main-Class:后要空一格写上class文件名

Manifest-Version: 1.0
Created-By: 1.8.0_251 (Oracle Corporation)
Main-Class: com.example.test.A

导入jar包到Android Studio

  1. 将Androidstudio中的项目切换为project,找到app下的libs,将jar包复制粘贴进去
  2. 查看:build.gradle(Module:test.app)
dependencies {
    implementation fileTree(dir: "libs", include: ["*.jar"])//引用libs目录下的jar包
    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    testImplementation 'junit:junit:4.13.1'
    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'    
}

在dependedencies下:若没有 implementation fileTree(dir: "libs", include: ["*.jar"]);
则添加compile files('libs/test-jar.jar');implementation fileTree(dir: "libs", include: ["*.jar"]);

  1. 点击Snyc Projects同步
  2. 检查是否导入成功

点击libs下的jar包,观察其目录结构,若引入成功,则其目录结构是可以点开的;若引入不成功,则点不开

在AndroidStudio使用jar包

//导入包
import com.example.test.A;
import com.example.test.B;

//声明类并使用M方法
b=new B();
b.M();
  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 1024 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值