Android App ID前缀问题

我正在为Android应用程序构建Adobe Air,我遇到了一个大问题,我使用旧的flash air扩展程序向Android市场发布了一个应用程序,该应用程序使用前缀“app”保存了应用程序ID.

现在我已经升级了扩展程序,现在它会使用前缀“air”保存应用程序ID.

这意味着我不能再向我的应用程序发布更新;那我该怎么办?

使用过时扩展的问题在于,在发布更新后,用户无法打开应用程序,直到清除缓存文件.

最佳答案
您可以设置一个简单的环境变量来禁用空气.前缀很容易. Adobe AIR包装程序中存在以下代码:

String optOut = System.getenv("AIR_NOANDROIDFLAIR");
if ((optOut == null) || (optOut.indexOf("true") == -1)) {
  packageName = "air." + packageName;
}

因此,只需将AIR_NOANDROIDFLAIR环境变量设置为true,重新打包您的应用程序,它就没有空气.字首. Google如何为您的特定操作系统版本设置windowsmac的环境变量.

例如,我在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的默认值).

更新:Renaun Erickson said这个标志不应该引起问题.

交叉发布here(略有不同的问题,同样的答案).

转载注明原文:Android App ID前缀问题 - 代码日志