2012-06-19 47 views
0

我想知道是否需要为我正在开发的应用程序构建Android源代码。我需要开发一个应用程序来控制内核中使用I2C驱动程序的设备。我可以简单地使用SDK和NDK来做到这一点吗?我应该改用我的Android版本中的SDK和NDK吗?为什么要构建android源码?

我注意到的SDK没有一个工具目录,当我尝试运行NDK/NDK建造我收到以下错误。

/ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc:命令未找到
/NDK /工具链/ ARM-Linux的-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-g ++:找不到命令。

当然有两个特定的Android网站:source.android.comdeveloper.android.com,我理解这些提供的指南。似乎没有任何建议如何处理构建或为什么要构建源代码,而不是使用下载的SDK。

回答

0

如果需要添加对现有版本中不支持的内容的支持,则可以重建android(各种含义为内核,用户空间,运行时系统,系统应用程序和工具链),并且不易通过修改预构建文件缺少重建它们。

i2c支持/配置很可能是内核的功能和运行时配置的某些方面,如权限,模块加载等。您可能很有能力在根设备上实现此目的,而无需重新构建android运行时/用户区,只需修改一些系统文件即可,但最终可能需要编译新的内核或至少一个内核模块。

这是不太可能增加支持I2C需要改变SDK或NDK,除非你想尝试,使您的任务正式的API由于Android本身的一个组成部分。很可能无论您最终添加到android安装的任何功能都可以使用反射或应用程序提供的存根组件和常量从应用程序中引用,而不需要更改构建系统的支持内容的想法。

+0

非常感谢您的帮助信息。对于我来说,从用户空间使用i2c,我需要安装i2c工具,这是目前我的android版本中不可用。我可以通过修改某些系统文件来做到这一点,还是需要重建系统? – user1400716

+0

此外,如果我要使用我的android版本中构建的SDK和NDK,而不是下载的版本,我该如何解决这个问题?如上所述,我不能将eclipse指向SDK文件夹,因为没有工具文件夹,当我尝试运行NDK时出现错误。 – user1400716

0

你正在使用cygwin或linux操作系统来编译你的驱动程序?

如果你正在使用的cygwin:C/C++编译器必须安装: 开放的cygwin的setup.exe 检查下devel的分支中的所有组件,然后单击下一步.... 但总devel的工具占据约4 GB。如果你不需要他们搜索网站必要的。 (您只需要约10个组件)