欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > Android >内容正文

Android

Android项目导出jar包的小技巧

发布时间:2025/3/19 Android 40 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Android项目导出jar包的小技巧 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

为什么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>

总结

  • ant命令中添加 -Dandroid.library=true 参数从普通Android项目中导出jar包
  • 添加一个 custom_rules.xml 文件来对生成的jar文件进行更灵活地控制
  • 转载于:https://my.oschina.net/apm/blog/278484

    总结

    以上是生活随笔为你收集整理的Android项目导出jar包的小技巧的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。