[AIR接入Android 平台]第三步 打包处理多个JAR变成一个JAR提供给第五步

一点声明:我的水平有限 这里仅仅只能写出我认为可行的方案 和 代码

接入android 运营平台 一般平台方都会提供一个或者更多的jar包。但是我们的ane只能打包一个jar包。这就需要我们把这些jar全部集合到一个去。

我的方法是基于一个兄台的教程的改进:传送门

拿我接过的最繁琐的一个SDK来说,它要求我必须连入6个jar。如图

需要把 其余的jar 都合并到 flane.jar中。

我们改进上面那个兄台的bat如下:
[cc lang=”java”]
@echo off
::转到当前盘符
%~d0
::打开当前目录
cd %~dp0
::你做的主JAR包的路径
set MainJar=flane.jar
::第三方JAR包的路径
set jar1=androidsdklibrary.jar
set jar2=gamehelper.jar
set jar3=oauth20.jar
set jar4=oauth20-api.jar
set jar5=sinaweibosso.jar
set jar6=tencent_openapi.jar
::第三方JAR包顶级包名称
set packageName1=com
set packageName2=org
set packageName3=android
echo =========== start combin ==============
::解压第三方包
jar -xf %jar1%
jar -xf %jar2%
jar -xf %jar3%
jar -xf %jar4%
jar -xf %jar5%
jar -xf %jar6%
::合并主JAR包
jar -uf %MainJar% %packageName1%
::如果还有别的顶级包可以接着合并,例如:
jar -uf %MainJar% %packageName2%
jar -uf %MainJar% %packageName3%
echo =========== over ==============
echo 再点一下就结束了–小Q
pause
[/cc]

就可以了。这个方法适用于合并N个jar。
声明下 这并不是我的原创。感谢上面那位兄台的分享。

《[AIR接入Android 平台]第三步 打包处理多个JAR变成一个JAR提供给第五步》有6个想法

  1. 我按照这个方法合并,但是cmd提示,非法选项: = 。。。。。。

  2. 这里补充一点,合并jar的工作最好在Linux系统或者MacOS系统(开启大小写敏感的分区上)进行,因为有些第三方的sdk混淆过了,而且混淆的时候是大小写敏感的,这样在Windows下面做,会出现部分class找不到的问题,其实是相同文件名,大小写不同的文件被覆盖了。

jamieli进行回复 取消回复

邮箱地址不会被公开。 必填项已用*标注