【发布时间】:2012-08-16 20:20:12
【问题描述】:
在我最近开始的实习中,我需要将一个相当大的 Visual C/C++ 项目移植到 Android。 我昨天问了另一个question 关于这个话题,寻求一些帮助来寻找移植的概念。 我得到了一个建议使用自动化解决方案的答案(例如用于 android 的单声道),但是经过一天对我的概念进行明确的研究后,我倾向于使用“手动解决方案”,这意味着我手动删除所有 Windows 和 Visual 特定的将其替换为 Android 下可用的功能。
现在,我想到的第一件事是首先使用 windows gnu Complier 删除所有 Visual 特定的内容,然后使用 linux gnu Compiler 删除所有与 Windows 相关的内容(然后使用ndk)。
这意味着我将它从 Windows 移植到 Linux,而不是从 Linux 移植到 Android,假设从 Linux 到 Android 的步骤非常小,因为我希望代码从 Linux 到 Android 几乎可以保持不变,因为 Android 是基于在 Linux 内核上。
现在我的问题是:这是一个好主意,还是从 Linux 移植到 Android 也是一项巨大的努力,所以我会做两次所有工作,一次从 Windows 到 Linux,另一次从 Linux 到 Android?!
绝对欢迎提出如何做得更好的建议!
编辑:忘记提一下,这将是一个更大的应用程序的一部分,并且不包含任何 GUI 东西(当然我知道这是因为,尽管 linux 到 Android 步骤会很繁重),只是组件的接口位于上面和下面。
【问题讨论】:
-
不要只是删除或替换 Windows 特定的部分,而是尝试使用更抽象的接口或包装器,这些接口或包装器可以根据其内置的环境调用正确的 Windows、Linux 或 Android 代码。这可能需要更多工作一开始,但以后会更容易移植。
-
@nurgan,能否请您提供您的联系信息,我们需要您的建议,因为我们有一个类似的项目来移植 android .. 谢谢
-
我其实不知道这个项目是怎么结束的,因为我得到了
'大量支持' ,我取消了我在这家公司的实习......
标签: android linux visual-c++ android-ndk porting