Android 真的存在于 ARM 以外的其他平台上吗?

发布于 2024-10-08 07:28:57 字数 409 浏览 8 评论 0原文

我想将用 C++ 编写的应用程序移植到 android。将应用程序从 C++ 转换为 Java 将需要大量工作,我更愿意将这些工作用于使应用程序更好地适应该平台,而不是修复转换错误和解决重构问题。

NDK 似乎是一条不错的路线,但实际上我不想仅仅因为 NDK 不支持或不会支持某个平台(如果它占据了相当大的市场份额)。

Android声称支持MIPS、ARM、X86等...但实际上我见过的所有实现都只在ARM(或arm兼容)上。 我在这个网站上查了一下: http://www.pdadb.net/

使用 NDK 会是一个糟糕的决定吗?
是否有任何运行或将运行 Android 的非 ARM 设备?
我在哪里可以找到有关此的更多信息?

提前致谢!

I want to port an aplication written in C++ to android. Converting the application from C++ to Java will take a lot of work that I would prefer to use on making the application better for that platform instead of fixing convertion bugs and solving refactoring problems.

The NDK seems a good route to take but actually I don't want to miss a platform(if it is a considerable % of the market) just because the NDK doesn't or won't support it.

Android claims to support MIPS, ARM, X86 and others ... but actually all the implementations I have seen are only on ARM (or arm compatible).
I checked that on this site:
http://www.pdadb.net/

Would it be a bad desision to use the NDK?
Are there any non ARM devices that run or will run Android?
Where can I find more information about this?

Thanks in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

记忆里有你的影子 2024-10-15 07:28:57

此时的问题不是你不会因为CPU架构而失去市场份额,因为目前非ARM Android设备很少,问题是你可能会因为要求用户运行Android 2.3而失去市场份额或更高版本,您必须使用它才能创建可以访问窗口、传感器和输入子系统的完全本机应用程序。

避免重写代码是一个很好的目标,但由于 Android 的 Window 和生命周期 API 不同,您可能无论如何都必须重写部分代码。现在您必须用 C++ 而不是 Java 重写代码的一些重要部分。

您可以尝试一种混合方法,用 Java 编写大部分 UI,然后调用现有的 C++ 代码。

你在做游戏吗?然后您可能想要处理这些问题并继续使用 NDK。如果没有,请尝试用 Java 实现尽可能多的程序,并使用 NDK 来处理代码中需要快速的复杂且经过测试的部分。

At this point the problem is not that you would not lose market share due to CPU architecture, as there are very few non-ARM Android devices at the moment, the problem is that you may lose market share due to requiring users to run Android 2.3 or later, which you would have to use in order to create a fully native application with access to the window, sensor, and input subsystems.

Avoiding rewriting code is a good goal but you would likely have to rewrite portions of the code anyway due to Android's dissimilar Window and life-cycle APIs. Now you would have to rewrite some important parts of the code in C++ rather than in Java.

You could try a hybrid approach where you write most of the UI in Java, then make calls to your existing C++ code.

Are you making a game? Then you'll probably want to deal with these issues and press on with the NDK. If not, try implementing as much of the program as possible in Java and use the NDK for the complex, tested parts of your code that need to be fast.

巷子口的你 2024-10-15 07:28:57

文档给出了以下内容:

The latest release of the NDK supports these ARM instruction sets:

ARMv5TE (including Thumb-1 instructions)
ARMv7-A (including Thumb-2 and VFPv3-D16 instructions, with optional support for     NEON/VFPv3-D32 instructions)

Future releases of the NDK will also support:

x86 instructions (see CPU-ARCH-ABIS.HTML for more information)

The documentation gives the following:

The latest release of the NDK supports these ARM instruction sets:

ARMv5TE (including Thumb-1 instructions)
ARMv7-A (including Thumb-2 and VFPv3-D16 instructions, with optional support for     NEON/VFPv3-D32 instructions)

Future releases of the NDK will also support:

x86 instructions (see CPU-ARCH-ABIS.HTML for more information)
装纯掩盖桑 2024-10-15 07:28:57

使用 NDK 是一个糟糕的决定吗?

对于算法来说,NDK 很好。对于游戏来说,NDK 就足够了。对于实现普通应用程序,NDK 不会有太大帮助。

是否有任何运行或将运行 Android 的非 ARM 设备?

Google TV 在 x86 (Atom) 上运行。

Would it be a bad desision to use the NDK?

For algorithms, the NDK is fine. For games, the NDK is fine. For implementing an ordinary app, the NDK will not be terribly helpful.

Are there any non ARM devices that run or will run Android?

Google TV runs on x86 (Atom).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文