生成*.air包

公司的老项目,用了老技术:Adobe flex,SDK 3.4。IDE工具用Flash Builder4.6.前几天业务人员反映之前的*.air包无法安装,报错如下:

随即准备重新打包,之前程序员交接的在Flash Builder中打包的方法如下:

“项目”-->“导出发行版”-->浏览指定“导出到文件夹”,导出为“已签名的AIR包”-->“下一步”-->“数字签名”-->证书“创建”,来创建*.p12证书-->输入证书密码,勾选“时间戳”,点击“完成”

经网上查询,原因可参考:https://my.oschina.net/return/blog/1631031,考虑用adt命令打包,首先在系统“环境变量”添加adt所在的路径,否则会报“adt不是内部命令......”

接下来,开始一路采坑

D:\codes\flexCode\Air>adt -package -storetype pkcs12 -keystore mylock.p12 my-air.air Air-app.xml .
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
password:
D:\codes\flexCode\Air\Air-app.xml: error 301: Application descriptor missing/cannot be opened

上述报错是因为adt命令应该在Air-app.xml目录下运行

D:\codes\flexCode\Air>adt -package -storetype pkcs12 -keystore mylock.p12 dz-air.air /codes/flexCode/Air/bin-debug/Air-app.xml .
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
password:
D:\codes\flexCode\Air\bin-debug\Air-app.xml: error 102: Invalid namespace http://ns.adobe.com/air/application/2.0

102错误说的是Air-app.xml的问题,查看adt版本,修改Air-app.xml版本为1.5

Air-app.xml头部
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<application xmlns="http://ns.adobe.com/air/application/1.5">

dos窗口查看adt版本
D:\codes\flexCode\Air\bin-debug>adt -version
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
adt version "1.5.3.9120"

重新打包,语句中“-tsa http://...”是生成时间戳的,不可少。在dos命令当前所在的文件夹下可以看到成功生成myAir.air安装包

D:\codes\flexCode\Air\bin-debug>adt -package -storetype pkcs12 -keystore mylock.p12 -tsa http://tsa.starfieldtech.com  myAir.air Air-app.xml .
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
password:

D:\codes\flexCode\Air\bin-debug>

将命令写成bat命令文件,可以参考:https://my.oschina.net/return/blog/1631031

上述打包命令里没有添加*.p12的密码,所以每次执行.bat文件还需要在dos窗口输入密码,可以对上述打包命令做如下修改

goto start
:start
D:
CD \codes\flexCode\Air\bin-debug
adt -package -storetype pkcs12 -keystore myLock.p12 -storepass 123456 -tsa http://tsa.starfieldtech.com  myAir.air Air-app.xml .
exit

adt打包命令官方文档:https://help.adobe.com/en_US/air/build/WS901d38e593cd1bac1e63e3d128cdca935b-8000.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章