Android Studio build dex jar
Gradle配置
Build配置文件gradle.build中添加如下task
task clearJar(type: Delete) {
delete 'build/outputs/mylib.jar'
} task copyJar(type: Copy) {
from('build/intermediates/bundles/release/')
into('build/outputs/libs/')
include('classes.jar')
rename ('classes.jar', 'mylib.jar')
} copyJar.dependsOn(clearJar, build)
此方法是直接从把gradle build生成的classes.jar拷贝到指定目录并且重命名,必须依赖build task。
修改dex jar的MANIFEST.MF文件
由于目前gradle的”com.android.application/library”不能和”java” plugin同时使用,所以我们可以使用其他方法来修改,本文中使用python的zipfile来处理。
自定义MANIFEST.MF文件
文件内容如下:
Manifest-Version: 1.0
Gradle-Version: 2.2.1
Created-By: 1.8.0_20-b26 (Oracle Corporation)
Date: 2015-4-15
Author: Leo.Kang
jar-version: 1.0.0
Python脚本
例如:新建一个python脚本,命名为updateJarManifest.py
#!/usr/bin/python import sys,zipfile,shutil,os def generate():
jar_file = "./mylib_temp.jar"
target_jar = os.path.dirname(jar_file)+"/mylib.jar"
shutil.copy(jar_file, target_jar)
zipped = zipfile.ZipFile(target_jar, 'a', zipfile.ZIP_DEFLATED)
content_file = "META-INF/MANIFEST.MF" mf_file = "./MANIFEST.MF"
zipped.write(mf_file, content_file)
zipped.close()
return target_jar generate()
执行python的shell脚本(mac/linux)/批处理文件(win)
win
新建一个文件命名updateJar.bat文件内容为python updateJarManifest.py
mac/linux
新建一个文件命名为:updateJar.sh,
文件内容为:
#!/bin/bash
#@author Leo.Kang
# 2015-4-15 20:47 python ./ updateJarManifest.py
更新build.gradle 配置
task clearJar(type: Delete) {
delete 'build/outputs/mylib.jar'
} task copyJar(type: Copy) {
from('build/intermediates/bundles/release/')
into('build/outputs/libs/')
include('classes.jar')
rename ('classes.jar', 'mylib_temp.jar')
} copyJar.dependsOn(clearJar, build) releaseJar.dependsOn(clearJar, build) task execPython(type:Exec) {
//workingDir file('./')
commandLine './updateJar.sh'
} execPython.dependsOn(releaseJar)
Reference
http://gradle.org/docs/current/dsl/org.gradle.api.tasks.Exec.html
Android Studio build dex jar的更多相关文章
- Android studio 中引用jar的其实是Maven?(二)
上一篇:Android studio 中引用jar的其实是Maven?(一) 搭建maven仓库: 去了解一个新的事物的时候,最好的方式就是去使用它.例如去了解一座城市的时候,最好的方式就是乘坐公共交 ...
- Android studio 中引用jar的其实是Maven?(一)
由于Studio比eclipse多了一步对工程构建的步骤,即为build.gradle这个文件运行,因此其引入第三方开发jar包与lib工程对比Eclipse已完成不同,引入第三方jar与lib工程显 ...
- Android Studio 如何打JAR包
Android Studio 如何打JAR包 在eclipse中我们知道如何将一个项目导出为jar包,供其它项目使用. 在AS中可以通过修改gradle才处理. 我们新建一个项目MakeJar,在 ...
- Android Studio导入第三方jar包或依赖工程的方法
Android Studio导入第三方jar包或依赖工程的方法 一 导入jar包的方法 1.打开自己的工程,将需要导入的jar包copy到libs文件夹下 2.在导入的jar包处单击菜单 Add ...
- Android Studio 怎样打JAR包
Android Studio 怎样打JAR包 在eclipse中我们知道怎样将一个项目导出为jar包,供其他项目使用. 在AS中能够通过改动gradle才处理. 我们新建一个项目MakeJar,在项目 ...
- Android Studio 导入系统 jar包
1.当前需要导入系统jar包的module所对应build.gradle中添加如下依赖: provided files('libs/classes-full-debug.jar') 也可以图形化设置: ...
- (转载) android studio library生成jar包和aar的方法总结
android studio library生成jar包和aar的方法总结 标签: android学习文档jar和aar的使用与生成gradle 2016-11-25 10:39 1782人阅读 评论 ...
- Android Studio下导出jar包和aar包
Android Studio下导出jar包和aar包 jar包和aar包的区别 步骤 1. 创建Android工程 创建工程比较简单,不错复述 2. 创建一个Library(Module) 创建了一个 ...
- 安装Android studio出现'tools.jar' seems to be not in Android Studio classpath......的解决方法
安装Android studio出现'tools.jar' seems to be not in Android Studio classpath......的解决方法 原创 2015年07月31日 ...
随机推荐
- bootstrap插件学习
转自http://v3.bootcss.com/javascript/ bootstrap javascript插件学习 模态框 打开模态框 <button type="button& ...
- ModelAndView学习整理
ModelAndView mav = new ModelAndView("/media/play-video");是什么意思 1.这是SpringMVC里面的问题啊!2.这叫返回一 ...
- 一个关于Delphi XML处理单元的BUG
使用delphi的XML处理单元 XMLDoc XMLIntf 在获取XML文本内容的时候, 高版本的Delphi会丢失编码描述....在D7上却是正常的, 下面是测试源码: procedure TF ...
- ansible使用笔记
ansible使用笔记 介绍 ansible 是一个模型驱动的配置管理器,支持多节点发布.远程任务执行.默认使用 SSH 进行远程连接.无需在被管理节点上安装附加软件,可使用各种编程语言进行扩展.an ...
- css3翻牌效果
原理:通过css3属性-webkit-transform: rotate(0deg)与-webkit-transform: rotate(180deg)对2个元素设置正反面 然后通过有过渡(trans ...
- JMeter学习-004-WEB脚本入门实战
此文为 JMeter 入门实战实例.我是 JMeter 初学菜鸟一个,因而此文适合 JMeter 初学者参阅.同时,因本人知识有限,若文中存在不足的地方,敬请大神不吝指正,非常感谢! 闲话少述,话归正 ...
- oracle拼接字符串
参考:http://www.cnblogs.com/freeliver54/archive/2013/07/01/3165144.html
- iOS: 上传App到AppStore,由于Xcode上传太慢,换成Application Loader上传,速度秒传
一.遇到的遭遇 在之前的项目开发中,本人有点固执,一直采用xcode打包后再上传,结果可想而知: (1)要么上传时速度慢的跟蜗牛似的,等的我心力交瘁(不排除网络不给力的原因,公司这个吊问题快把我气疯了 ...
- js 除法 取整
js 除法 取整 1.丢弃小数部分,保留整数部分 js:parseInt(7/2) 2.向上取整,有小数就整数部分加1 js: Math.ceil(7/2) 3,四舍五入. js: Math.roun ...
- ubuntu15.04 安装搜狗输入法
首先:打开 系统设置->软件和更新,添加以下源, deb http://archive.ubuntukylin.com:10006/ubuntukylin trusty main 然后 sudo ...