为什么80%的码农都做不了架构师?>>>   

我们知道,可以通过如下设置将一个普通的Android工程转换成Android Library工程

设置前后工程变化如下

使用Ant编译时(通过android.bat update project 命令生成 build.xml),普通的Android工程会生成apk文件,而Android Library工程只生成jar文件。由于要生成dex并打包apk资源,前者比后者要耗时不少。

有时我们需要从普通工程中导出部分代码生成jar包,可以手动完成

或者,按照上面的做法,先将一个普通的Android工程转换成Android Library工程,再执行 ant release 或 ant debug

其实,还有一种更简单地方法:使用如下方式执行 ant release

ant release -Dandroid.library=true

编译后将生成一个classes.jar,编译输出如下

...
-compile:[jar] Building jar: F:\xxx\bin\classes.jar-post-compile:-obfuscate:-dex:[echo] Library project: do not convert bytecode...
...

最后,我们还可以通过添加一个 custom_rules.xml 文件来对生成的jar文件进行更灵活地控制

<?xml version="1.0" encoding="UTF-8"?>
<project name="tinyUtils" default="help"><target name="-post-compile"><!-- copy from <sdk>\tools\ant\build.xml '-compile' task --><if condition="${project.is.library}"><then><echo level="info">Creating my library output jar file...</echo><property name="out.mylibrary.jar.file" location="${out.absolute.dir}/my_classes.jar" /><if><condition><length string="${android.package.excludes}" trim="true" when="greater" length="0" /></condition><then><echo level="info">Custom jar packaging exclusion: ${android.package.excludes}</echo></then></if><propertybyreplace name="project.app.package.path" input="${project.app.package}" replace="." with="/" /><jar destfile="${out.mylibrary.jar.file}"><!-- 自定义 --></jar></then></if></target>
</project>

总结

  1. ant命令中添加 -Dandroid.library=true 参数从普通Android项目中导出jar包
  2. 添加一个 custom_rules.xml 文件来对生成的jar文件进行更灵活地控制

转载于:https://my.oschina.net/apm/blog/278484

Android项目导出jar包的小技巧相关推荐

  1. android jar导出,Android项目导出jar包的小技巧

    我们知道,可以通过如下设置将一个普通的Android工程转换成Android Library工程 设置前后工程变化如下 使用Ant编译时(通过android.bat update project 命令 ...

  2. Java代码安装maven jar_Java中Maven项目导出jar包配置的示例代码

    具体代码如下所示: src/main/java src/main/resources ${project.build.directory} **/*.java src/test/java src/te ...

  3. 将java项目导出jar包,然后转成在windows上的可执行文件(没有java运行环境的电脑也可以)

    近期在做一个java串口项目,需要将完整的项目导出.exe文件在没有java环境的电脑上运行,下面是详细的操作步骤以及遇到各种问题的解决办法.. 1.将项目导出jar包,使用的工具是eclipse,该 ...

  4. Android Studio导出jar包

    Eclipse直接有个Export,可以直接导出jar包.AS相对Eclipse变化很大,编译脚本变成了Gradle,各种导包操作都有差异. 下面是AS导出jar的过程: 第一步,修改app下的bui ...

  5. java的idea中项目导出jar包

    简单来说,当我们写好的项目要直接当做一个软件来使用,不需要再打开idea等软件运行出结果时候,我们可以将项目导出为jar包,即可直接像快捷图标一样运行. 以下是中文版IDEA软件的项目构建导出方法!! ...

  6. Spring mvc项目导出jar包无法识别正常映射问题

    笔者的代码很简单,平常的配置文件,web.xml如下 <servlet><!--名称 --><servlet-name>springmvc</servlet- ...

  7. Android Studio导出Jar包并混淆

    在Android Studio中,自带反编译查看class文件,如果没有混淆的话,class文件跟java文件基本没有区别了,为了保护,还是混淆的好. 网上看了不少资料,都是直接下载proguard额 ...

  8. SpringBoot导出Jar包并测试(使用IDEA)

    文章目录 一.如何通过IDEA将SpringBoot项目导出为jar包. (一)打开项目,找到侧边栏的Maven (二)点击Meavn后,双击clean (三)点击package进行打包 (四)找出J ...

  9. 【idea】【springboot】【jar】导出jar运行后报错java.lang.ClassNotFoundException 及springboot在idea导出jar包的正确方法

    文章目录 一.问题描述 二.问题分析 三.springboot在idea中导出jar包的正确方法 1.删除原有MANIFEST.MF 2.工程设置 3.导出jar包 总结 一.问题描述 使用idea将 ...

最新文章

  1. python爬虫原理-Python爬虫原理
  2. 【洛谷 P4051】 [JSOI2007]字符加密(后缀数组)
  3. 数据结构与算法总结(完结)
  4. 日期setMinutes()方法以及JavaScript中的示例
  5. AndroidStudio_开发工具的设置_界面设置_字体设置_使用习惯设置_按钮设置等一些设置的介绍---Android原生开发工作笔记71
  6. SQL server 查询语句
  7. K3打印单据,提示:等待C盘释放空间,内存不足
  8. NotifyIcon实现托盘程序
  9. 虚拟试衣 原理与应用
  10. 今晚8:00 | 杜克大学计算进化智能中心(CEI Lab)—— 联邦学习专题!
  11. 将博客搬至CSDN_拔剑-浆糊的传说_新浪博客
  12. 迅速把庸才变将才的七大步
  13. matlab图像处理二,图像缩放、旋转、修剪
  14. python批量删除图片和空文件夹
  15. 电脑的硬件和软件分别是什么
  16. uniapp设置导航栏、沉浸式导航栏以及获取屏幕尺寸
  17. 服务器虚拟化课程总结,虚拟化与云计算课程总结报告
  18. lesson-3 photoshop之套索工具,渐变、移动
  19. vtk8.2.0 + vs2019 + qt5.15.1编译
  20. 臭氧辅助硅蚀刻的深度研分析

热门文章

  1. 带t2芯片的mac装linux,Macbook Air 2018(包含T2芯片)安装Precision Touchpad触摸板驱动...
  2. linux用8m内存读取1g日志,检查 Linux 中内存使用状况的 8 条命令
  3. 百练OJ:2764:数根
  4. 三门科目分析信息系统项目管理师如何备考
  5. 《系统集成项目管理工程师》必背100个知识点-67工作说明书和范围说明书
  6. C#程序员经常用到的10个实用代码片段
  7. Winform中设置ZedGraph多条Y轴时与多条曲线一一对应
  8. Winform中设置ZedGraph曲线图的字体样式是避免出现边框
  9. Tomcat下server.xml怎样处理图片多路径映射问题
  10. SpringBoot开发第一个Web入门级应用(超详细)