2012-06-19 92 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個組件)