Android怎么把一个现有工程打包成sdk
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android怎么把一个现有工程打包成sdk相关的知识,希望对你有一定的参考价值。
现有一个android工程本身引用了大量的第三方aar,jar,so文件,现在怎么把他抽成一个SDK供第三方使用(物联网项目,本身对接了很多第三方sdk);要求:sdk具备现有的一切逻辑,界面;这好像没法实现啊!
方法一使用eclipse导出jar包:我们知道一个java项目是可以用eclipse导出jar包的,安卓工程也一样,只要按普通的方法export就可以了。不过,export出来的包是没有混淆过的,如果你要混淆,还需要单独对你的jar包执行一次proguard程序,可参考proguard使用指南。
方法二
使用脚本打包:我个人比较喜欢该方法,因为android工程项目并不是只有JAVA代码,有的资源也需要提供出来,而使脚本可以更加定制化一些。
android的SDK默认提供了一个ant打包的脚本,具体使用方法,可参考之前的BLOG,使用ant打包APK及依赖包最佳解决办法
我们可以看出,打包,最终调用的其实是android sdk下的ant脚本,既然安卓已经帮我们写好了ant脚本,我们就好好利用。
使用上面的BLOG中介绍的方法,先在工程目录中生成你的build.xml,然后自己写一个target
<target name="sdk"
depends="-set-release-mode, -release-obfuscation-check, -compile, -post-compile, -obfuscate">
</target>
这段target代码,就是只执行到了混淆的脚本。然后我们在build.xml中选择右键,run as, 第二个ant Build,然后选择要执行的target为我们加上的sdk。
等执行完成后,就会在project/bin/proguard/obfuscated.jar找到你所要的jar包。追问
jar包能把xml,图片资源打进去?
参考技术A 打包成aar追问大哥,你这等于没说
Cocoapods打包SDK
工程代码改造成CocosPod以后,以前在源代码工程中将代码打成SDK的脚本已经不能适用了,现在需要基于CocosPod打包成SDK输出给其他人。
原来CocosPod工程pod下来的源码是可以直接通过脚本进行编译
核心编译SDK语句如下
xcodebuild -project ${PROJECT} -target "${TARGET}" ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphoneos BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" clean build -UseModernBuildSystem=NO
xcodebuild -project ${PROJECT} -target "${TARGET}" ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphonesimulator BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" clean build -UseModernBuildSystem=NO
参考文章
1、https://hello-david.github.io/archives/42391276.html
以上是关于Android怎么把一个现有工程打包成sdk的主要内容,如果未能解决你的问题,请参考以下文章