最近工作中有這個需求,需要修改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環境)
@echo offjar 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目錄下。重新打包。是不是已經修改了?