我正在尋找在Android 4.1(Jelly Bean)上運行本機ARM可執行文件的方法。例如,編譯經典的C程序在Jelly Bean上運行本機ARM可執行文件
// hello.c
#include <stdio.h>
int main() {
printf("Hello world");
}
到ARMv7a可執行文件,說hello
使用Android NDK,然後在Android的殼運行它。我曾嘗試的方法在網絡上建議如
adb push hello /data/local
變更許可推可執行/data/local
,使其能夠通過
adb shell chmod 755 /data/local/hello
被執行,然後使用調用它們的外殼
adb shell /data/local/hello
最後一步失敗,出現錯誤:
/data/local/hello: not found
但顯然文件在那裏。我懷疑問題是,果凍豆的外殼不允許執行外星人二進制文件了。任何人都可以證實這一點並給我一個解決方案
這不是一個針對Android問題的編程,只要我可以看到。我相信這對於硬核Android用戶來說是有意義的。 – ale
@ Chahak謝謝。但是,我不認爲它回答了我原來的問題。最終,我想通過交叉編譯或使用ARM預構建版本運行'dd'等程序。現在我回想起在系統上安裝新二進制文件的'busybox'和'kbox',所以我相信這裏沒有安全問題。我會檢查這些工作,看看他們是如何做到的。 –
@Chahk - 鑑於堆棧溢出問題是從2011年10月開始的,因此回答了未指定的舊版Android,Jelly Bean *的答案可能會不同。提問者確實希望有人確認它是否是真實的,這是一個關於Android的實際可回答的問題。 –