最近工作中有这个需求,需要修改AIR for android 生成的apk里的 android:screenOrientation="user"为android:screenOrientation="landscape"。原因是一些平台的sdk接入air for android下会出现home键返回界面消失,starling失去焦点的bug。如果改成android:screenOrientation="landscape" ,android:launchMode="standard" 就可以解决这个问题。
如图:默认生成的是这样子:
需要修改成:
android:launchMode="standard" 很容易修改,直接去默认生成的项目下修改Main-app.xml(这个是我项目里的,你的项目名字可能不是这样)。增加一行:android:launchMode="standard"
但是android:screenOrientation="landscape"这个修改起来比较麻烦,如果直接像上面那样加会在打包的时候报错。怎么办呢?
我参考了别人的办法,直接修改air sdk下的adt.jar 。因为air肯定有个默认的配置,那个默认的配置里将android:screenOrientation配置成"user"。我们需要做的就是修改它。
修改的办法很简单,直接用命令行:(运行需要配置java环境)
class="brush:csharp;gutter:true;">@echo off jar tf adt.jar //列出adt.jar文件目录 jar xf adt.jar com/adobe/air/apk/AndroidManifest_template.xml //解压出要修改的文件 pause //暂停的过程中修改AndroidManifest_template.xml
jar uf adt.jar com/adobe/air/apk/AndroidManifest_template.xml //更新adt.jar下的文件
echo =========== over ==============
echo 再点一下就结束了 pause
这样就形成了新的adt.jar。放入sdk目录下。重新打包。是不是已经修改了?