AS中生成与导入Jar包

一、AS中生成Jar包

概念:将自己开发的一个类库打包成jar包以供其他项目调用,这个jar包也叫SDK或者叫library。

    1. 新建项目MakeMyJarDemo


      项目MakeMyJarDemo.png

      -2. 新建Module:mylibrary
      (1)鼠标右键点击app->New->选择Module


      Module.png

      (2)选择AndroidLibrary->点击Next
      image.png

      (3)填写名称->点击Finish


      image.png

      (4)新建项目功能文件MyFunctions.java
public class MyFunctions {
    public static void showLog(){
        Log.v("jar","这是MakeMyJarDemo项目的功能文件");
    }
    public static void showToast(Context context, String msg, TextView textView){
        textView.setText(msg);
        Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();
    }
}
    1. 主工程依赖mylibrary
      (1)打开主工程的build.gradle(Module:app)文件,添加信息如下,并点击Sync Now
implementation project(':mylibrary')
image.png

(2)在主工程的MainActivity中调用mylibrary的功能文件验证依赖成功


image.png
    1. mylibrary打包为jar包
      (1)打开build.gradle(Module:mylibrary)文件,添加信息如下,并点击Sync Now
//修改jar名字+将指定jar生成的地方
task makeMyJar(type: Copy) {
    //删除存在的
    delete 'build/libs/mysdk.jar'
    //设置拷贝的文件
    from('build/intermediates/intermediate-jars/release/')
    //打进jar包后的文件目录
    into('libs/')
    //将classes.jar放入build/libs/目录下
    //include ,exclude参数来设置过滤
    //(我们只关心classes.jar这个文件)
    include('classes.jar')
    //重命名
    rename ('classes.jar', 'mysdk.jar')
}

makeJar.dependsOn(build)
image.png

备注:task makeJar中的makeJar只是一个方法名称可以随意取名,但是必须得和下面的makeJar.dependsOn(build)的makeJar方法名称一致
(2)打开Terminal控制台,输入指令 gradlew makeJar后回车即可生成jar包


image.png

备注:Terminal控制台输入gradlew+方法名称时,方法名称需和上步task makeJar中的方法名保持一致。
说明:若as从来没有生成过jar,那么第一次就会很慢,会去下载一些文件
(3)打包Success后jar文件会出现在mylibrary工程对应的build->libs中(同样arr会出现在outputs中)


image.png

说明:复制mysdk.jar到一个新的module中的libs目录下,然后就可以调用jar包文件中的方法了。

二、AS导入Jar包

    1. 项目UseMyJarDemo导入mysdk.jar包
      (1)复制jar包至Project - > app - > libs目录下,之后重启AS。


      image.png
    1. 测试导入成功


      image.png

参考:Android studio 如何导入libs目录下的jar包libs 下面的jar包怎么导入android denpendencies

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 12,991评论 2 59
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,997评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,974评论 6 342
  • “孩子玩滑板车把舌头和下巴摔破了,要去医院。你在门口等吧。”妻子在电话里说。“哦。” 于是在小区门口等,心想这都是...
    杜华松阅读 420评论 0 5
  • 前段时间,荔枝小姐来我的城市参加她朋友的婚礼,傍晚的时候,看在多年情义的份上,她拎着大包小包,打扮的花枝招展的来看...
    暖先森阅读 2,184评论 7 26