我有一個本機二進制文件,我想將其包含到Android的源代碼中,以便在編譯時我的二進制文件將包含在/ system/bin中。在Android源代碼中添加預構建的二進制
我抄我的二進制文件到文件夾/預建/機器人臂/我的二進制,和我創建了一個新的Android.mk有以下幾點:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := my-binary
LOCAL_MODULE := my-binary
LOCAL_MODULE_CLASS := EXECUTABLES
LOCAL_MODULE_TAGS := optional
include $(BUILD_PREBUILT)
但是當我運行讓,我在日誌中得到的唯一參考如下:
target Prebuilt: my-binary (out/target/product/generic/obj/EXECUTABLES/my-binary_intermediates/my-binary)
和二進制並沒有安裝到system.img可言。在Installing a prebuilt binary on Android: "not found"中有一個幾乎相同的問題,但提問者已經知道了基本程序,並且根本沒有解釋。如果我運行使我的二進制,我得到了我張貼的相同的行。
我也嘗試運行make/target/product/generic/system.img my-binary但它也不起作用。我的二進制文件出現在列出的子文件夾中,但它不會包含在system.imng中
我是否缺少什麼?有沒有什麼辦法,只要運行make -j#我的二進制文件將包含在/ system/bin中?
呀,我用Android.mk在參考同一個目錄下gdbserver的發現,但它不工作的readOn一些。我會試着用mmmm;我會馬上回來...... 編輯:*嗯嗯預建snod -j *工作!我打算做一個* make clean *,看看是否從頭開始重建所有東西...... – ziritrion
真的很奇怪......直接從回購(無需使用我的二進制文件)在源代碼上運行* make *編譯好。但是,當我添加我的二進制文件,我得到奇怪的錯誤。最糟糕的是,即使我做了一個* make clean *並取出我的文件夾(它應該讓源代碼就像剛開始時一樣,因爲我沒有碰到其他任何東西),當我嘗試編譯它時仍然會收到編譯錯誤。我釋放了空間,確保它與代碼本身沒有任何關係(我在VMware上運行Ubuntu 10.04) – ziritrion
make clean只需刪除'out'文件夾。它不會將代碼更改爲defaoult。你能用編譯過程中遇到的錯誤更新答案嗎? – Yury