Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么要构建android源代码?_Android_Sdk_Build_Android Ndk - Fatal编程技术网

为什么要构建android源代码?

为什么要构建android源代码?,android,sdk,build,android-ndk,Android,Sdk,Build,Android Ndk,我想知道是否需要为我正在开发的应用程序构建Android源代码。我需要开发一个应用程序,使用内核中的I2C驱动程序来控制设备。我可以简单地使用SDK和NDK来实现这一点吗?我应该使用Android版本中的SDK和NDK吗 我注意到SDK没有工具目录,当我尝试运行ndk/ndk build时,出现以下错误 /ndk/toolschains/arm-linux-androideabi-4.4.3/prebuild/linux-x86/bin/arm-linux-androideabi-gcc:未找到

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

我注意到SDK没有工具目录,当我尝试运行ndk/ndk build时,出现以下错误

/ndk/toolschains/arm-linux-androideabi-4.4.3/prebuild/linux-x86/bin/arm-linux-androideabi-gcc:未找到命令 /ndk/toolschains/arm-linux-androideabi-4.4.3/prebuild/linux-x86/bin/arm-linux-androideabi-g++:未找到命令


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

如果需要添加对现有构建中不支持的内容的支持,可以以各种方式重新构建android,即内核、用户区、运行时系统、系统应用程序和工具链,而且不容易通过修改预构建的文件来支持,除非重新构建它们

i2c支持/配置可能是内核和运行时配置的某些方面(如权限、模块加载等)的一项功能。您可以在根设备上实现这一点,而无需通过修改一些系统文件重新构建android运行时/用户区,尽管您可能最终不得不编译一个新内核或至少编译一个内核模块


添加i2c支持不太可能需要更改sdk或ndk,除非您想尝试为您的任务制作一个正式的API,作为android本身的一个集成部分。最有可能的是,您最终添加到android安装中的任何功能都可以使用反射或应用程序提供的存根组件和常量从应用程序中引用,而无需更改构建系统对支持的内容的概念。

您是在使用cygwin或linux操作系统编译驱动程序吗

如果您使用的是cygwin:c/c++编译器,则必须安装: 打开cygwin setup.exe 选中devel branch下的所有组件,然后单击next。。。。
但devel工具的总容量约为4GB。如果你不需要它们,就在网上搜索一些必要的。您只需要大约10个组件

非常感谢您提供的有用信息。要从用户空间使用i2c,我需要安装i2c工具,这在我的android版本中目前不可用。我可以通过修改一些系统文件来做到这一点,还是需要重新构建系统?另外,如果我要使用android构建中构建的SDK和NDK,而不是下载的版本,我该怎么做?如上所述,我无法将eclipse指向SDK文件夹,因为没有tools文件夹,并且在尝试运行NDK时出错。