如今Windows下的安卓开发环境如何?

  android 至今仍然不能靠谱的在 windows 下正常编译。官方虽然提供了用 cygwin 辅助编译的方法,但从来不推荐你使用该方法,仅仅当你非用 windows 不可时才会考虑。

  现实问题是,国内有很多搞安卓的人并不是搞应用而是搞设备的,安卓实际上被用于 Google 根本没有想象到的场合,并不仅限于手机平板。你常常会需要编译 android 本身,或者至少用到 android 框架层的代码。

  另外,如果你用到 C/C++ 的 NDK,在 Linux 下编译调试的优势非常明显,如果你需要编译一些第三方 C 代码就更是如此了,那常常需要 GNU 编译的工具链,而他们只在 Linux 下能够更好的运行。虽然 NDK 程序被证明也能在 Windows 下编译,但对于那些依赖 GNU 编译工具链的库,配置好靠谱的 Windows 环境比配置 Linux 环境困难很多倍。这句话或许可以解读为:招聘一个喜欢 Linux 环境的人做这件事情,比招聘一个喜欢 Windows 环境的人来做这些事情要容易很多。

  如果再要加上最后一块多米诺骨牌的话:现在很多硬件解决方案是由 CPU 芯片产商提供的从 CPU 到外围芯片硬件软件整套解决方案,同时 CPU 产商提供给了 android 的版本,很多硬件产商只要 CPU 产商不提供升级版 android 自己没有能力升级。CPU 产商往往只给你提供了用于 Linux 的工具链,于是你就只能在 Linux 下去编译他们提供的 android 源代码以及框架,也只能用他们这套工具链去编译你的 C/C++ 代码(如果你的代码依赖他们 CPU 厂商提供的库话)。

  总结:

  1,很多代码用到了 NDK,NDK 需要用 Linux 编译更方便,比方说绝大多数游戏都要用 NDK。

  2,很多开发者需要涉及 android 源代码,必须在 Linux 下编译。

  3,CPU 产商提供的工具链是 Linux 版本,围绕该 CPU 进行的相关优化,相关代码必须在 Linux 下进行开发(尤其是硬件解码音视频播放等等功能)。

  4,AVD只是界面分辨率兼容性测试的时候临时用一下的,实际调试一定是用真机,所以android开发效率与AVD性能无关。

  5,Windows 环境只能做很有限的一小部分与硬件无关的 android 开发工作,作为硬件厂商,你随机内置的程序当然都要针对该硬件优化,这些工作必须使用 Linux 来做,因此李楠所说的话从硬件产商的角度来看应该基本属实,这与 Windows 环境「烂不烂」无关,而是「能不能」的问题。

  转载自:知乎

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/10872.html