new.jpg
   AndroidStudio 项目打包成jar

一.步骤(AndroidStudio):

1.像平常一个样新建一个项目(步骤省略):
2.(在步骤1的基础上)点击File-->New-->New Module—>选择[Android]
(http://lib.csdn.net/base/android "Android知识库") Library-->点击Next(如下图:)

微信图片_20190107154857.png

生成新library module 结果如下:


image.png

新建test 项目中会自动引入该Module (app下的build.gradle):
添加 implementation project(':librarytest')

image.png

3.生成jar:
librarytest module 工程中建一个工具类

image.png

(1)在librarydemo工程下的build.gradle中加上:

task makeJar(type: Copy) {
//这行表示如果你已经打过一次包了,再进行打包则把原来的包删掉
delete 'build/libs/test.jar'
//这行表示要打包的文件的路径,根据下面的内容,其实是该路径下的classes.jar
from('build/intermediates/packaged-classes/release/')
//这行表示打包完毕后包的生成路径,也就是生成的包存在哪
into('build/libs/')
//看到这行,如果你对分包有了解的话,你就可以看出来这行它只是将一些类打包了
include('classes.jar')
rename ('classes.jar', 'test.jar')
}

makeJar.dependsOn(build)

image.png

(2)terminal 命令行 使用 gradlew makeJar 打jar

image.png

(3) 生成的jar如下图:

image.png

二、使用jar和arr:
二者区别:

jar: 只包含了class文件与清单文件 ,不包含资源文件,如图片等所有res中的文件。

aar: 包含jar包和资源文件,如图片等所有res中的文件。

个人觉得还是用as提供的aar包比较好,编译完就生成了aar了,不用担心资源问题,

  1. aar使用:

导入aar(jar一样):

image.png

(1) app下的build.gradle 添加如图所示,
repositories {
flatDir {
dirs 'libs'
}
}

implementation (name:'librarytest',ext:'aar')

image.png

(2)  Sync Now 一下,看到如下:

image.png
  1. jar导入:
        导入jar(同arr一样)-->选中jar-->右键-->点击Add As Library-->点击Ok

    image.png
  1. 声明:打出来的jar只有源代码的.class 文件,不包含资源文件

有人会想怎么把资源(图片,布局,string等)打进jar包呢?
例如:jar中有一个activity用到了布局文件和图片资源,那么怎么办呢?
解决如下:由于打包出来的jar只有源代码的.class 文件,不包含资源文件,我们就把jar包中用到的资源放到你使用

该jar的工程里面。然后通过反射即可,具体参考该篇文章实现:

https://blog.csdn.net/ta893115871/article/details/46955791

更多相关文章

  1. 使用Android(安卓)studio 开发xposed插件
  2. android命令行编译生成apk(翻译官方文档)
  3. unity3D,PC、Android、IOS将内容复制到剪切板
  4. Android(安卓)Studio使用笔记
  5. Android中使用Apache common ftp进行下载文件
  6. Android关于arm64-v8a,armeabi-v7a,armeabi,x86下的so文件兼容问
  7. 详解Android是如何启动的
  8. 关于android的mk文件的一些见解
  9. Android(安卓)Studio Drawable和Mipmap文件夹的区别

随机推荐

  1. android N0 屏蔽某个应用的通知
  2. Android 总结1
  3. 安卓开发问题记录
  4. ListView CheckBox点击事件
  5. android app content
  6. android 分段显示文本颜色控件
  7. Android Settings 修改默认主题为白底黑
  8. Android:GridView
  9. android 网络拨号流程
  10. android 去除 除了当前白名单的app