我是否真的需要根據我的手機來運行打印hello world的程序?紮根android手機運行交叉編譯的C文件?
我想交叉編譯後運行一個二進制文件。 當我將文件推入/ data/local/tmp目錄時,我得到權限被拒絕。
任何想法,我應該推它,以便它可以運行?如果可能的話?
或者我需要在終端模擬器上試試嗎?
我是否真的需要根據我的手機來運行打印hello world的程序?紮根android手機運行交叉編譯的C文件?
我想交叉編譯後運行一個二進制文件。 當我將文件推入/ data/local/tmp目錄時,我得到權限被拒絕。
任何想法,我應該推它,以便它可以運行?如果可能的話?
或者我需要在終端模擬器上試試嗎?
不,您不需要擁有root權限即可在Android上運行可執行文件。
將文件推送到/ data/local/tmp之後,很可能沒有必要的權限 - 這就是爲什麼「拒絕權限」的原因。做它如下:
adb push /path/to/executable /data/local/tmp
adb shell chmod 0755 /data/local/tmp/executable
adb shell 'cd /data/local/tmp && ./executable'
它適合我。
我是否真的需要根據手機來運行打印hello world的程序?
號
我得到的,當我推文件到/數據/本地/ tmp目錄拒絕的權限。
按下後執行chmod a+x
。我似乎回想起Android運行時不瞭解八進制。 (或者可能是基於@Crystax的答案的其他方式)。
謝謝兄弟!只需要澄清那些Android 5.0以上版本的交叉編譯,您需要添加PIE標誌。否則你只得到位置獨立的可執行文件支持錯誤。所以加上--fPIE -pie –
感謝兄弟!現在工作! –