开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

开发者专栏

关注:1871

当前位置:游戏蛮牛 技术专区 开发者专栏

__________________________________________________________________________________
开发者干货区版块规则:

  1、文章必须是图文形式。(至少2幅图)
      2、文章字数必须保持在1500字节以上。(编辑器右下角有字数检查)
      3、本版块只支持在游戏蛮牛原创首发,不支持转载。
      4、本版块回复不得无意义,如:顶、呵呵、不错......【真的会扣分的哦】
      5、......
__________________________________________________________________________________
查看: 4643|回复: 29

[keyle] 使用Android Studio导出jar包

[复制链接]  [移动端链接]
排名
2474
昨日变化
1

16

主题

172

帖子

1573

积分

Rank: 9Rank: 9Rank: 9

UID
22288
好友
9
蛮牛币
2481
威望
0
注册时间
2014-4-21
在线时间
329 小时
最后登录
2017-9-7

专栏作家

QQ
发表于 2017-4-13 11:40:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
本帖最后由 Keyle 于 2017-4-13 11:42 编辑



当你在开发的时候需要一个 Plugin的时候回来看看这个文章吧,本篇介绍如何使用Android Studio生成jar包(MacOS)。




前情提要





  • 请确保本地有 Android SDK,如无 请参见 Gradle环境配置一文  http://vrast.cn/posts/9d8752cb/
  • 确保gradle环境配置完毕 请参见 Gradle环境配置一文  https://vrast.cn/posts/9d8752cb/

什么是jar包 ?
JAR(Java ARchive,Java 归档)是一种与平台无关的文件格式,可将多个文件合成一个文件。可以简单的看作类似zip的压缩包,里面存放的是代码与项目资源。
更详细的介绍在这里 JAR 文件揭密 -来自IBM公司官网 下面做一些jar的特性摘要:
JAR 文件格式提供了许多优势和功能,其中很多是传统的压缩格式如 ZIP 或者 TAR 所没有提供的。它们包括:
  • 安全性。可以对 JAR 文件内容加上数字化签名。这样,能够识别签名的工具就可以有选择地为您授予软件安全特权,这是其他文件做不到的,它还可以检测代码是否被篡改过。
  • 减少下载时间。如果一个 applet 捆绑到一个 JAR 文件中,那么浏览器就可以在一个 HTTP 事务中下载这个 applet 的类文件和相关的资源,而不是对每一个文件打开一个新连接。
  • 压缩。JAR 格式允许您压缩文件以提高存储效率。
  • 传输平台扩展。Java 扩展框架 (Java Extensions Framework) 提供了向 Java 核心平台添加功能的方法,这些扩展是用 JAR 文件打包的 (Java 3D 和 JavaMail 就是由 Sun 开发的扩展例子 )。
  • 包密封。存储在 JAR 文件中的包可以选择进行 密封,以增强版本一致性和安全性。密封一个包意味着包中的所有类都必须在同一 JAR 文件中找到。
  • 包版本控制。一个 JAR 文件可以包含有关它所包含的文件的数据,如厂商和版本信息。
  • 可移植性。处理 JAR 文件的机制是 Java 平台核心 API 的标准部分。

Eclipse平台打包 jar 的方式
  • 自动化打jar包方法
    Build project into a JAR automatically in Eclipse -来自stackoverflow
    http://stackoverflow.com/questions/1062941/build-project-into-a-jar-automatically-in-eclipse
  • 手动导出
    [AppleScript] 纯文本查看 复制代码
    1. Choose Export > Java > JAR file 
    2. 选中需要导出的文件即可


Android Studio只能间接导出jar包,对此我深感遗憾,它需要新建一个android studio的空项目,然后 添加一个名为 Android Library 的库。最后将这个库导出为jar文件。这里着重说明几个我遇到的问题
  • 需要删除test project也就是测试工程,并且在Gradle中删除测试项目的编译命令
  • 导出的代码是整个 Library 的代码

操作步骤:1.下一步下一步默认即可,注意此处 你的Application Name需要大写开头

1.jpg



2. 此处我使用的 MyPlugunJar 作为 Andorid Library(类库)名


2.jpg



3.打开Moudle 设置  
3.jpg



4.jpg



4. 删除测试工程  依次删除 app/MyPlugunJar的依赖项
5.jpg



5. 依次删除 测试项目
6.jpg


这一步需要注意一下 如果是 Build Unity3D 使用的jar包 是不需要引用 com.android.support:appcompat-v7:22.2.0 这个项目的,可以适当的予以删除。






添加自动构建代码



选中app的Gradle,添加如下代码
[AppleScript] 纯文本查看 复制代码
dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:22.2.0'
    //添加编译的类库
    compile project(':myplugunjar')
}







选中myplugunjar的Gradle,添加如下代码


[AppleScript] 纯文本查看 复制代码
task makeJar(type: Copy) {
    //删除存在的
    delete 'build/libs/mysdk.jar'
    //打包这个里面的文件
    from('build/intermediates/bundles/release/')
    //放到这个目录
    into('build/libs/')
    //将classes.jar放入build/libs/目录下
    //include ,exclude参数来设置过滤
    //这里只需要包含classes.jar这个文件
    include('classes.jar')
    //重命名
    rename ('classes.jar', 'mysdk.jar')
}
makeJar.dependsOn(build)






  • 编译,并且获取jar包   使用此命令 :
    gradle makeJar


7.jpg










最终生成的文件如下:





10.jpg


















8.jpg
9.jpg

评分

参与人数 1鲜花 +5 收起 理由
开拓ay + 5 666666666

查看全部评分


回复

使用道具 举报

排名
2474
昨日变化
1

16

主题

172

帖子

1573

积分

Rank: 9Rank: 9Rank: 9

UID
22288
好友
9
蛮牛币
2481
威望
0
注册时间
2014-4-21
在线时间
329 小时
最后登录
2017-9-7

专栏作家

QQ
 楼主| 发表于 2017-4-13 17:41:07 | 显示全部楼层
好久不发文了  照例自己顶一下

回复 支持 反对

使用道具 举报

4四处流浪
440/500
排名
31624
昨日变化
17

9

主题

169

帖子

440

积分

Rank: 4

UID
1477
好友
2
蛮牛币
967
威望
0
注册时间
2013-8-4
在线时间
266 小时
最后登录
2017-9-11

社区QQ达人

发表于 2017-4-13 18:14:02 | 显示全部楼层
楼主帅到屌炸天

回复

使用道具 举报

8常驻蛮牛
5434/10000
排名
252
昨日变化

0

主题

2634

帖子

5434

积分

Rank: 8Rank: 8

UID
3215
好友
0
蛮牛币
264
威望
0
注册时间
2013-9-4
在线时间
1240 小时
最后登录
2017-9-22
发表于 2017-4-14 09:48:37 | 显示全部楼层
ddddddddddd

回复

使用道具 举报

6蛮牛粉丝
1377/1500
排名
1033
昨日变化
1

1

主题

96

帖子

1377

积分

Rank: 6Rank: 6Rank: 6

UID
1276
好友
0
蛮牛币
2341
威望
0
注册时间
2013-7-31
在线时间
432 小时
最后登录
2017-9-23
发表于 2017-4-14 13:40:57 | 显示全部楼层
没有eclipse那样右键导出jar,选择文件,麻烦很多

回复 支持 反对

使用道具 举报

4四处流浪
320/500
排名
7423
昨日变化
4

5

主题

103

帖子

320

积分

Rank: 4

UID
207446
好友
0
蛮牛币
664
威望
0
注册时间
2017-2-20
在线时间
88 小时
最后登录
2017-9-22
发表于 2017-4-14 14:41:04 | 显示全部楼层
{:104:}

回复

使用道具 举报

3偶尔光临
166/300
排名
10643
昨日变化
4

0

主题

56

帖子

166

积分

Rank: 3Rank: 3Rank: 3

UID
184758
好友
0
蛮牛币
206
威望
0
注册时间
2016-11-18
在线时间
45 小时
最后登录
2017-9-22
发表于 2017-4-16 08:23:57 | 显示全部楼层
学习啦,多谢分享

回复

使用道具 举报

5熟悉之中
565/1000
排名
3113
昨日变化
16

3

主题

48

帖子

565

积分

Rank: 5Rank: 5

UID
131585
好友
0
蛮牛币
1264
威望
0
注册时间
2015-12-13
在线时间
154 小时
最后登录
2017-9-23
发表于 2017-4-16 13:16:53 | 显示全部楼层
顶,接安卓功能好麻烦,不过AS能导出arr包吧

回复 支持 反对

使用道具 举报

5熟悉之中
530/1000
排名
6185
昨日变化
3

19

主题

217

帖子

530

积分

Rank: 5Rank: 5

UID
194101
好友
3
蛮牛币
4972
威望
0
注册时间
2016-12-19
在线时间
146 小时
最后登录
2017-9-22
发表于 2017-4-16 16:26:12 | 显示全部楼层
啊啊啊啊啊啊啊啊啊啊阿啊啊啊啊

回复 支持 反对

使用道具 举报

5熟悉之中
519/1000
排名
5044
昨日变化
1

3

主题

102

帖子

519

积分

Rank: 5Rank: 5

UID
156228
好友
0
蛮牛币
1415
威望
0
注册时间
2016-7-11
在线时间
184 小时
最后登录
2017-9-22

七夕浪漫情人

发表于 2017-4-17 09:03:58 | 显示全部楼层
学习学习,多谢分享~

回复 支持 反对

使用道具 举报

5熟悉之中
564/1000
排名
5130
昨日变化
1

5

主题

199

帖子

564

积分

Rank: 5Rank: 5

UID
187870
好友
0
蛮牛币
898
威望
0
注册时间
2016-11-29
在线时间
154 小时
最后登录
2017-9-21
发表于 2017-4-17 09:11:36 | 显示全部楼层
好人一生平安!

回复

使用道具 举报

5熟悉之中
564/1000
排名
5130
昨日变化
1

5

主题

199

帖子

564

积分

Rank: 5Rank: 5

UID
187870
好友
0
蛮牛币
898
威望
0
注册时间
2016-11-29
在线时间
154 小时
最后登录
2017-9-21
发表于 2017-4-21 13:01:20 | 显示全部楼层
好人一生平安

回复

使用道具 举报

4四处流浪
421/500
排名
4444
昨日变化
1

0

主题

47

帖子

421

积分

Rank: 4

UID
77094
好友
0
蛮牛币
1265
威望
0
注册时间
2015-3-4
在线时间
128 小时
最后登录
2017-9-16
发表于 2017-4-21 22:34:07 | 显示全部楼层
赞楼主~~ 感谢楼主分享,写的很详细

回复 支持 反对

使用道具 举报

排名
17682
昨日变化
8

0

主题

21

帖子

65

积分

Rank: 2Rank: 2

UID
207440
好友
0
蛮牛币
46
威望
0
注册时间
2017-2-20
在线时间
22 小时
最后登录
2017-8-14
发表于 2017-4-23 17:20:10 | 显示全部楼层
好东西。。。。。。感谢楼主

回复

使用道具 举报

4四处流浪
385/500
排名
9223
昨日变化
4

0

主题

213

帖子

385

积分

Rank: 4

UID
146677
好友
7
蛮牛币
1875
威望
0
注册时间
2016-4-25
在线时间
86 小时
最后登录
2017-9-20
QQ
发表于 2017-4-28 14:24:31 | 显示全部楼层
顶一下,好东西
[发帖际遇]: LiuBen 发帖时在路边捡到 1 蛮牛币,偷偷放进了口袋. 幸运榜 / 衰神榜

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

快速回复 返回顶部 返回列表