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.0Gradle-Version: 2.2.1Created-By: 1.8.0_20-b26 (Oracle Corporation)Date: 2015-4-15Author: Leo.Kangjar-version: 1.0.0

  

Python脚本

例如:新建一个python脚本,命名为updateJarManifest.py

#!/usr/bin/pythonimport sys,zipfile,shutil,osdef 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_jargenerate()

执行python的shell脚本(mac/linux)/批处理文件(win)

win

新建一个文件命名updateJar.bat文件内容为python updateJarManifest.py

mac/linux

新建一个文件命名为:updateJar.sh,

文件内容为:

#!/bin/bash#@author Leo.Kang# 2015-4-15 20:47python ./ 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

更多相关文章

  1. android开发数据储存的路径示例
  2. Android微信SDK实现分享
  3. react-native android 打包
  4. android eclipse debug 调试 Source not found
  5. Android(安卓)DownloadProvider 源码分析
  6. Android二进制文件转码到Base64并通过Post进行提交
  7. 总结一下关于 Android(安卓)10 的适配(备注:只是自己项目中有关联
  8. Android(安卓)解决支付宝对接问题com.alipay.sdk.app.PayTask/Au
  9. Android(安卓)刷机Nexus5 4.4.3

随机推荐

  1. Android开发笔记——以Volley图片加载、
  2. Android(安卓)使用NDK R5开发JNI应用详解
  3. Android(安卓)Studio 单元测试(instrument
  4. Android生命周期和启动模式
  5. 2012.06.28(4)——— android 应用移到sd
  6. Android串口通信:串口读写实例
  7. Android(安卓)渗透测试学习手册(二)准备实
  8. Android(安卓)控件系列: GridView 的简单
  9. LeAndroid招聘汇总
  10. Android利用已有控件实现自定义控件