Flash Android ANE 多个jar包和资源的处理

转载请注明出处:csdn火木达人

一、多个jar包的处理

在开发Flash Android ANE中,Android端有可能使用第三方jar包。在Android端直接打出的jar包里面不包含第三方库的字节码。所以在生成了ane后使用会报错。又由于Flash ane不能同时使用多个jar包,所以只能把这个第三方库也弄进你生成的那个jar包中。

可以使用jar命令解包和压包

1.用 jar -xf 命令解压第三方Jar包
2.用 jar -uf 命令合并第三方Jar包

另一种方式是把后缀名改为.rar,用解压工具解压,在合并这些jar文件的字节码文件,最后在压缩改后缀名

这里有一个别人写的打包小工具:P013MergeJars.air

二、ane资源的处理

Flash Android ANE的资源可以分为两种:

第一种:res资源

把res整个目录放在Android-ARM目录下,在打包的时候会直接打进去

使用getApplicationContext().getResources().getIdentifier(name,defType,defPackage)方法在ane中获取资源

第二种:assets资源

把assets目录下的资源拷贝到Flex手机项目的src根目录下,对这工程点击右键-属性-Flex构建项目-Google Android-包类容。

所有打勾的文件都会打进apk的assets目录下。apk打成功后可以解压看看。

如果你的assets下包括.apk文件,那么就不能使用Flash Builder 工具去打包,因为Flash Builder 工具对.apk文件文件有过滤。及时你选择了.apk文件还是会剔除掉。

这时可以通过命令去打包

还一种方式通过Flash Builder 工具打包后,使用APKTool反编译工具解压后把文件放入assets下,在生成新包。

反编译:apktool d <file.apk> <dir>

如果你给定的<dir>已经存在,那么输入完该命令后会提示你,并且无法执行,需要你重新修改命令加入-f指令
apktool d –f <file.apk> <dir>

编译:apktool b <dir>

dir内多了2个文件夹build和dist,其中分别存储着编译过程中逐个编译的文件以及最终打包的apk文件。

apktool新生成的新包时不带签名的,所以需要自己重新签名:

jarsigner -verbose -keystore test.keystore -signedjar test2.apk test.apk test.keystore 

用命令行创建keystore:

keytool -genkey -keystore test.keystore -keyalg RSA -validity 10000 -alias test.keystore

查看keystore详细信息:

keytool -list -keystore test.keystore

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值