我正在构建一个适用于 Android 的 Adobe Air 应用程序,但遇到了一个大问题,我使用旧的 Flash Air 扩展向 Android 市场发布了一个应用程序,该扩展保存了带有前缀“app”的应用程序 ID。
现在我已经升级了扩展程序,它现在保存带有前缀“air”的应用程序 ID。
这意味着我无法再发布我的应用程序的更新;那我能做什么呢?
使用过时的扩展的问题是,发布更新后,用户无法打开应用程序,直到清除缓存文件。
您可以设置一个简单的环境变量来禁用air.
轻松添加前缀。 Adobe AIR 打包程序中存在以下代码:
String optOut = System.getenv("AIR_NOANDROIDFLAIR");
if ((optOut == null) || (optOut.indexOf("true") == -1)) {
packageName = "air." + packageName;
}
因此,只需设置AIR_NOANDROIDFLAIR
环境变量为true
,重新打包您的应用程序,它不会有air.
字首。谷歌如何设置环境变量windows https://www.google.com/search?q=windows%20set%20environment%20variables or mac https://www.google.com/search?q=mac%20set%20environment%20variables适用于您的特定操作系统版本。
例如,我在Mac/Linux上使用命令行编译器,所以我运行:
> export AIR_NOANDROIDFLAIR=true
> java -jar $AIR_HOME/lib/adt.jar -package -target apk-captive-runtime -storetype pkcs12 -keystore cert.p12 -storepass *** Main.apk Main-app.xml Main.swf
警告:我不知道这有什么影响。根据上面某人的注释,这可能只适用于强制运行时(但这是从 AIR 3.8 开始的默认设置)。
Update:雷纳恩·埃里克森said https://plus.google.com/u/0/103202870591954554318/posts/RVqFVm6FT55该标志不应引起问题。
交叉发布here https://stackoverflow.com/questions/9218641/renaming-the-package-name-inside-an-apk/16593989#16593989(略有不同的问题,相同的答案)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)