編譯Android驅動對應的C測試程序出錯的解決方法以及正確流程

編寫好驅動之後,另外寫瞭個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  

 

到此,驅動的測試程序編譯完畢。

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *