我想为android构建一个内核模块。 我知道我使用交叉编译。在内核中,我想我可以使用一些通用的交叉编译,例如arm-none-linux-gnueabi-gcc.Is我的想法是否正确?或者任何其他交叉编译为android,u可以提示给我?还有任何关于如何在ubuntu中为交叉编译构建环境的artile?其次,无论何时编译模块,我如何将它作为模块加载到内核中? 最后,谁都解释了NDK,交叉编译和工具链之间的关系? THXandroid跨编译,ndk,工具链
回答
那么,这是怎样的一个大问题,但我会尝试,并回答了我至少知道。我相信一个特定的硬件制造商将拥有一个Android“Bundle”,它将包含一套完整的工作软件。这将包括工具链,Linux内核源码,u-boot引导程序以及整个Android系统。就我而言,飞思卡尔为他们提供的特定处理器和评估板提供了Android捆绑包。
就术语而言,“交叉编译器”将包含在“工具链”中。术语“工具链”包含整个交叉编译器,交叉库等。每个工具链都是为主机(即Linux,cygwin等)和目标处理器(arm,mips,PowerPC等)构建的。
构建Linux for Linux与构建Linux真的没有什么不同。建议使用相同的工具链来构建用于构建Android系统其余部分的Linux。要构建Linux,请将环境变量设置为“ARCH = arm”和“CROSS_COMPILE = arm-none-linux-gnueabi-”(或使用实际交叉编译器的前缀)。注意结尾“ - ”在交叉编译前缀中很重要。
以下链接将介绍如何设置开发环境。
Android Development environment set up.
注意,Ubuntu的10.04至11.04效果很好。建议保留在其中一个版本中。
将Linux内核放到目标上完全取决于目标。对于我正在使用的飞思卡尔,它希望在SD卡上找到偏移量为0x800块的Linux内核(每块在SD卡上为512字节)。我使用以下方法来写入SD卡原料:
须藤DD如果=的/ dev/SDB BS = 1M的=的uImage寻求= 1;同步
至于NDK去,我根本没有经验。我对它的理解,它是Android Java应用程序的一个接口,用于向时间关键功能的“C”和“CPP”代码发出呼叫。我不知道的是它对JNI接口的优势,以及它与JNI接口的不同之处。
我希望你觉得这个有用且有帮助。
- 1. 在android ndk编译fftw3 ndk
- 2. Android NDK工具
- 3. Android NDK不编译
- 4. 使用Android NDK工具链构建SpiderMonkey
- 5. 用Android NDK编译PugiXML
- 6. 的Android NDK编译GMP库
- 7. Android NDK r6b为Android交叉编译libfaac(链接libsupC++问题)
- 8. 使用Android NDK独立工具链链接失败的PCRE
- 9. 编译NDK库
- 10. 如何使用cmake 3.7.2将编译器设置为NDK工具链中的gcc?
- 11. Android NDK:与Android Studio 2.2,Gradle和externalNativeBuild + Android.mk的铿锵工具链
- 12. 跨平台C++工具链
- 13. 跨平台C++工具链
- 14. 编译NDK项目时Android Studio中的链接器错误
- 15. 使用NDK工具链构建SDL2
- 16. 使用Android工具链与autoconf交叉编译
- 17. Android 7.1.1内核编译错误(工具链)
- 18. pthread_cancel未找到使用android工具链编译
- 19. Android NDK编译器openssl发生错误
- 20. 通过NDK编译tesseract和open_cv android
- 21. 编译和安装OpenSSH的Android NDK
- 22. 目标EXE为Android ABI(NDK编译)
- 23. 编译dlib和opencv与android ndk
- 24. 代码不会与Android NDK编译
- 25. Ubuntu上的Android NDK r5 - 无法编译
- 26. Android Studio更新1.0打破NDK编译
- 27. 如何为Android NDK 11编译Boost 1.61
- 28. Android NDK编译错误NDK_PROJECT_PATH = null
- 29. Android NDK - 编译库时出错
- 30. 为Android NDK编译C库的问题
我想添加一些东西给这个问题,下面的链接给出了两件事NDK和NDK与工具链。这是什么区别? http://developer.android.com/tools/sdk/ndk/index.html – sandyJoshi 2013-09-19 18:27:04