Android 应用程序崩溃:运行 使用 Apache Cordova 在移动设备上演示 NaCl 应用程序(pexe 应用程序)
Android App Crash: Running demo NaCl app (pexe app) on mobile using Apache Cordova
我正在尝试 运行 Chrome 应用程序在 Android 移动设备上使用以下说明:
developer.chrome.com/apps/chrome_apps_on_mobile
从上面 URL,我可以 运行 计算器应用程序在 Android Emulator 5.0.1 中很好。没问题。
github.com/GoogleChrome/chrome-app-samples/tree/master/samples/calculator
Chrome App Calculator on Android Screenshot
然后我尝试从 nacl_sdk 的示例 api 目录中 运行 在桌面上安装 "Native Client" 应用程序:
developer.chrome.com/native-client/sdk/download
nacl_sdk 附带了一些示例,包括演示和核心 api 示例。所有示例在桌面上运行良好。我从中选取了 'file_io' api 示例,编译 (make) 后 运行 没问题。我获取了该文件夹并使用以下命令创建了 cca cordova 应用程序:
cca create FileApp --copy-from=/path/to/file_io/manifest.json
然后cd到FileApp
和cca prepare
之后运行 Android eumlate 命令:
cca run android --target=avd5
它处理的一切都很好,我没有看到构建这个像计算器应用程序这样的 cordova 应用程序的错误。但是,在应用程序启动 'LAUNCH SUCCESS' 之后 Android 模拟器崩溃了。模拟器 windows 已关闭。
我从 AVD Manager 启动了 Android 仿真器,启动后 Android 我尝试启动 'File I/O' 应用程序,结果显示了消息
"Unfortunately, File I/O has stopped." Screenshot
这是否意味着 PNaCl/NaCl 应用程序仍然不受 Android OS 支持?
NaCl 应用程序包含 .pexe 文件。
我可能会遗漏中间的任何步骤吗?
如果我能在 Android OS 上测试 运行 本机客户端应用程序,就像 Chrome 移动应用程序使用Apache Cordova 示例有效。
Chrome Android 不支持本机客户端 (NaCl)(暗示基于 Chrome/Chromium 的 WebView)。
参见:http://developer.chrome.com/multidevice/faq
Q: Does Native Client work on Chrome for Android?
A: It does not, and we have no plans to announce at this time.
Q: Is NaCl/PNaCl supported [in Cordova]?
A: No. However, you can still compile and use native code
by writing a custom Cordova plugin.
不幸的是,native 这个词是一个重载的词,根据上下文具有不同的含义,因此 OP 开始询问 Android 本机开发工具包 (NDK)。
Android NDK 使用 Java 本机接口 (JNI) 使 C/C++ 代码与 Android Java 框架通信。通常 Android 应用仅在需要移植现有 C/C++ 库或具有物理建模或图像处理等计算性能要求时才使用 NDK。
当 Cordova 引用 'native code' 时,它指的是用 Android Java 编写的代码,需要通过 Cordova 插件桥接到 JavaScript 端.
当然,为什么要使用上述任何一项 frameworks/APIs 取决于 OP 想要做什么。
我正在尝试 运行 Chrome 应用程序在 Android 移动设备上使用以下说明: developer.chrome.com/apps/chrome_apps_on_mobile
从上面 URL,我可以 运行 计算器应用程序在 Android Emulator 5.0.1 中很好。没问题。
github.com/GoogleChrome/chrome-app-samples/tree/master/samples/calculator
Chrome App Calculator on Android Screenshot
然后我尝试从 nacl_sdk 的示例 api 目录中 运行 在桌面上安装 "Native Client" 应用程序: developer.chrome.com/native-client/sdk/download
nacl_sdk 附带了一些示例,包括演示和核心 api 示例。所有示例在桌面上运行良好。我从中选取了 'file_io' api 示例,编译 (make) 后 运行 没问题。我获取了该文件夹并使用以下命令创建了 cca cordova 应用程序:
cca create FileApp --copy-from=/path/to/file_io/manifest.json
然后cd到FileApp
和cca prepare
之后运行 Android eumlate 命令:
cca run android --target=avd5
它处理的一切都很好,我没有看到构建这个像计算器应用程序这样的 cordova 应用程序的错误。但是,在应用程序启动 'LAUNCH SUCCESS' 之后 Android 模拟器崩溃了。模拟器 windows 已关闭。
我从 AVD Manager 启动了 Android 仿真器,启动后 Android 我尝试启动 'File I/O' 应用程序,结果显示了消息
"Unfortunately, File I/O has stopped." Screenshot
这是否意味着 PNaCl/NaCl 应用程序仍然不受 Android OS 支持? NaCl 应用程序包含 .pexe 文件。 我可能会遗漏中间的任何步骤吗?
如果我能在 Android OS 上测试 运行 本机客户端应用程序,就像 Chrome 移动应用程序使用Apache Cordova 示例有效。
Chrome Android 不支持本机客户端 (NaCl)(暗示基于 Chrome/Chromium 的 WebView)。
参见:http://developer.chrome.com/multidevice/faq
Q: Does Native Client work on Chrome for Android?
A: It does not, and we have no plans to announce at this time.
Q: Is NaCl/PNaCl supported [in Cordova]?
A: No. However, you can still compile and use native code
by writing a custom Cordova plugin.
不幸的是,native 这个词是一个重载的词,根据上下文具有不同的含义,因此 OP 开始询问 Android 本机开发工具包 (NDK)。
Android NDK 使用 Java 本机接口 (JNI) 使 C/C++ 代码与 Android Java 框架通信。通常 Android 应用仅在需要移植现有 C/C++ 库或具有物理建模或图像处理等计算性能要求时才使用 NDK。
当 Cordova 引用 'native code' 时,它指的是用 Android Java 编写的代码,需要通过 Cordova 插件桥接到 JavaScript 端.
当然,为什么要使用上述任何一项 frameworks/APIs 取决于 OP 想要做什么。