文档章节

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

fnnn99
 fnnn99
发布于 2014/12/12 17:21
字数 761
阅读 193
收藏 6

  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 环境「烂不烂」无关,而是「能不能」的问题。本文由“www.zrnkyy.com”编辑

本文转载自:

fnnn99
粉丝 2
博文 120
码字总数 0
作品 0
深圳
私信 提问
Windows Mobile程序员玩转Android开发

现在的智能手机操作系统已经进入战国时代,老牌的Symbian、Windows Mobile和BREW面临着iPhone和Android等新势力的巨大挑战。最近有些闲暇时间了,可以研究下新手机操作系统的应用程序开发了。...

红薯
2009/06/29
9.9K
3
加快Android模拟器启动速度?

其实使用虚拟化的产品在性能上还是有很大的折扣,很多网友发现每次随着Android固件的更新、SDK功能的增加启动速度越来越慢,从早期的m3 版SDK到如今的1.5几乎足足慢了3倍,其实这是很正常的事...

红薯
2009/07/08
5.7K
2
Android 开发者不得不面对的五大问题

IDC最近一份关于移动应用开发的调查报告显示,Androdid开发者对谷歌的移动操作系统平台的兴趣正在下降。尽管依然有79%的开发者表示对Android “非常感兴趣”,但IDC的调查报告显示,一些迹象...

鉴客
2012/04/09
3.2K
9
CloudBox说明

1. 下载连结,下载后解压缩可直接开启 http://blog.csdn.net/cloudhsu/article/details/7443266 2. 此为xcode3模版, xcode可直接开启执行, xcode3与xcode4皆可直接执行 3. 若要使用此模版, 请...

长平狐
2012/10/08
94
0
构建Android开发环境

http://www.cn-cuckoo.com/2010/04/18/make-a-android-develop-environment-1512.html 在本文写作时,Android SDK的最新版本是2.1。现在,我们来看一看如何在Windows平台下构建Android 2.1开...

长沙老林
2015/07/22
87
0

没有更多内容

加载失败,请刷新页面

加载更多

详解RPC远程调用和消息队列MQ的区别

什么是RPC RPC(Remote Procedure Call)远程过程调用,主要解决远程通信间的问题,不需要了解底层网络的通信机制。 RPC服务框架有哪些 知名度较高的有Thrift(FB的)、dubbo(阿里的) RPC的一般...

一只会编程的狼
24分钟前
5
0
Dubbo面试题

支持的调用方式 同步调用 异步调用 参数回调 事件通知 支持的注册中心 Dubbo线上支持三种注册中心:自带的Simple Registry、Redis和Zookeeper,当然,最常用的还是Zookeeper作为注册中心,因...

i不歪
31分钟前
5
0
idea打包jar发布到nexus

8.idea打包jar发布到nexus 1. 配置maven的nexus地址 打开maven配置文件:\apache-maven-X.X.X\conf\settings.xml 修改配置为: <localRepository>E:\maven</localRepository> <pluginGroup......

TopDuang
33分钟前
6
0
nvm 使用方式

nvm 使用方式 命令: nvm ls-remote:列出所有可以安装node 版本号 nvm install v10.4.0:安装指定版本号的node nvm use v10.3.0:切换node版本,这个是全局的 nvm current:当前nod...

潇潇程序缘
33分钟前
4
0
八爪鱼爬网页分页数据

一个yuanbeth
37分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部