【问题标题】:How to run AIR desktop app on Android (Galaxy Tab 10.1)?如何在 Android (Galaxy Tab 10.1) 上运行 AIR 桌面应用程序?
【发布时间】:2011-12-06 08:29:14
【问题描述】:

我有一个问题 - 如何在我的 Galaxy Tab 10.1 上运行 AIR(非常大的桌面应用程序)? .air 可以转换成 .apk 吗?

编辑:
1.我建立了一个新的桌面项目(文件 -> 新建 -> Flex 项目)
2. 项目名称为“simpleTest”,应用程序类型为桌面(在 Adob​​e AIR 中运行),Flex SDK 版本 4.6.0 并单击完成
3. 我进入设计模式,然后将宽度设置为 500,高度设置为 250。我通过绘图添加一个按钮并将其命名为 btnOne 并生成事件处理程序
4.然后我去项目->导出发布构建(导出为签名的AIR包)->下一步(我申请证书)->完成
5。我找到项目文件 (...Adobe Flash Builder 4.6\simpleTest) 并将 simpleTest.air 复制到一个新文件中 (simpleTestAPK - 包含我的证书 > andCert.p12)
6。我将“simpleTest.air”重命名为“simpleTest.zip”,然后从这个.zip中解压缩“simpleTest.swf”和“application.xml”
7。我创建了一个“create.txt”,其中包含以下内容:
adt -package -target apk-debug -storetype pkcs12 -keystore andCert.p12 myHope.apk application.xml simpleTest.swf
8。我将“create.txt”重命名为“create.cmd”并启动它(Shift + RMB -> Open cmd here)
9。 “myHope.apk”已创建
10。我将此复制到 Galaxy Tab 10.1(通过拖放)
11。我启动“myHope.apk”,但我看到的只是空白、白色屏幕、没有颜色、没有按钮、什么都没有。

有什么想法、建议、建议吗?谢谢。

【问题讨论】:

  • 您可以(请参阅下面的答案),但请记住,移动应用程序的空气框架是桌面框架的简化版本,因此某些组件可能无法正常工作。
  • 在测试项目“simpleTest”中,我只使用 Spark 组件。
  • 如果您有 Flash Builder,那么您可以直接从 FB 构建。使其成为 Flex Mobile 项目
  • 是的,像“simpleTest”这样简单的项目没有问题,因为它只使用了Spark组件。但这是我的大型桌面应用程序的一个问题,因为我在那里使用 mx 组件(并且重写它们需要很长时间)。最好在平板电脑上启动一个 .air 应用程序而不重写任何东西......(我准备重写几十行代码,但几百行已经有点复杂了)
  • 不认为这是可能的。尽管您应该能够重用大部分代码,但您将不得不为移动项目重写应用程序。创建一个移动项目,将所有桌面代码复制到其中,然后更正错误

标签: android apache-flex air galaxy-tab


【解决方案1】:

是的,这是可能的。众所周知,.air 文件实际上是一个 zip 存档,因此您只需将文件扩展名从 .air 更改为 .zip 并解压缩其内容即可。您需要从解压缩的存档中获取 -app.xml 和 .swf 文件。然后进入 flex sdk 的 bin 文件夹,里面有 adobe air 2.7 及更高版本。

然后启动控制台并执行以下代码:

adt -package -target apk-debug -storetype pkcs12 -keystore <your_certificate>.p12 <your_app_name>.apk <your_app_name>-app.xml <your_app_name>.swf

更详细的描述是here

更新 [12.12.2011]: 要让 desktop .air 在移动设备上运行,应该做一个小技巧 - 将 WindowedApplication 更改为 Application 组件并进行发布构建。之后,您将执行上述步骤,它应该可以工作。这适用于基于 mx 的组件,尚未尝试使用 spark,但我想它也应该可以工作。

【讨论】:

  • 我已经安装了 AIR 运行时,创建 .apk(带有 adt)。好的,.apk 已创建。但是,如果我单击我的应用程序图标,应用程序会在 Flash 加载屏幕中冻结。我使用 FB 4.6
  • @DominikRT 这发生在模拟器上还是设备上还是两者兼而有之?
  • 在设备上。未在模拟器上测试。
【解决方案2】:

您需要有 android sdk,现在您可以将所有 .apk 从磁盘驱动器安装到您的移动设备上

adb -s XXXX9999XXXX install -r yourfile.apk

XXXX9999XXXX - 设备序列号

以及用于调试宽度闪存生成器: 您需要 SAMSUNG_USB_Driver_for_Mobile_Phones 才能在 Flash builder 中查看 Galaxy Tab

http://www.remotesynthesis.com/post.cfm/what-to-do-when-flash-builder-4-5-doesn-t-see-your-android-device

干杯

【讨论】:

    【解决方案3】:

    我认为您需要从 Market 下载 AIR 运行时。然后你应该可以运行 .air 文件了。

    你可以在这里找到它:https://market.android.com/details?id=com.adobe.air&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5hZG9iZS5haXIiXQ..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-09
      • 2013-05-21
      • 2011-09-15
      • 2014-01-10
      相关资源
      最近更新 更多