編寫好驅動之後,另外寫了個C程序來測試驅動,但是在編譯的時候,出現了如下的錯誤:
[plain]
build/core/base_rules.mk:166: *** frameworks/base/opengl/libs: MODULE.TARGET.ETC.egl.cfg already defined by development/tools/emulator/opengl/system/egl。 停止。
這裡的意思是:
frameworks/base/opengl/libs目錄已經在development/tools/emulator/opengl/system/egl定義了。
解決方法就是把frameworks/base/opengl/路徑下的 libs 目錄刪除即可。
編譯這個C驅動測試程序需要注意:
1、程序放在 (你的android源碼目錄)/external/ 下面
2、Android.mk 和對應的程序C文件必須存在,最好放在同一級目錄下面
3、編譯的時候,回到 你的android源碼目錄下面,使用 make 你的項目名稱進行編譯
樣例:
1、在~/workspace/android-4.0.4_r1.2/external/yapp/目錄下建立 helloapp目錄
2、在helloapp目錄下創建對應的helloapp.c文件
3、在helloapp目錄下創建唯一的Android.mk文件
4、回到~/workspace/android-4.0.4_r1.2/目錄,使用
make helloapp
命令進行編譯
5、編譯成功後,類似下面:
[plain]
Install: out/target/product/generic/system/lib/libstdc++.so
Notice file: bionic/libm/NOTICE -- out/target/product/generic/obj/NOTICE_FILES/src//system/lib/libm.so.txt
Install: out/target/product/generic/system/lib/libm.so
Install: out/target/product/generic/system/bin/helloapp
到此,驅動的測試程序編譯完畢。