編輯:關於android開發
[錯誤描述] 未定義引用
提示如下:
bootable/recovery/minzip/Zip.c:1122: error: undefined reference to 'selabel_lookup'
bootable/recovery/minzip/Zip.c:1123: error: undefined reference to 'setfscreatecon'
bootable/recovery/minzip/Zip.c:1129: error: undefined reference to 'freecon'
bootable/recovery/minzip/Zip.c:1130: error: undefined reference to 'setfscreatecon'
bootable/recovery/minzip/DirUtil.c:151: error: undefined reference to 'selabel_lookup'
bootable/recovery/minzip/DirUtil.c:152: error: undefined reference to 'setfscreatecon'
bootable/recovery/minzip/DirUtil.c:158: error: undefined reference to 'freecon'
bootable/recovery/minzip/DirUtil.c:159: error: undefined reference to 'setfscreatecon'
collect2: error: ld returned 1 exit status
make: *** [out/target/product/fly/obj/SHARED_LIBRARIES/ua-server_intermediates/LINKED/ua-server.so] 錯誤 1
[問題分析] 根據提示可知,Zip.c 調用的四個函數 'selabel_lookup','setfscreatecon','freecon','setfscreatecon' 未定義。其實它們定義在 libselinux 庫中,只是因為 libselinux 庫沒有被包含進相應模塊的 Android.mk 文件中,才導致這樣的編譯錯誤。
[處理方法] 打開所編譯模塊的 Android.mk 文件,在對應模塊添加LOCAL_STATIC_LIBRARIES += libselinux,如果已有其他的庫,則將 libselinux 直接添加在後面即可。
小小總結,只為拋磚引玉,如果讀者在編譯過程中遇到類似的問題,可以舉一反三,加以解決。
#歡迎技術交流# skype賬號:fxwlucky
ContentProvider域名替換小工具,contentprovider域名開發項目域名想怎麼換就怎麼換,就是這麼任性! 這是一個很有意思的小工具! 這是一個方便開發
WiFi是一種無線聯網技術,比較常見的就是通過無線路由器來連接網絡。在無線路由
自定義Android組件之組合方式創建密碼框組件 Android中所有控件(也稱組件)都繼承自adnroid.view.View類,android.view.View
Android項目從Eclipse增加支持Android Studio 使用Eclipse開發Android已經有些年頭了,然而Android Studio(後面簡稱