2015-04-22 26 views
1

我是否真的需要根據我的手機來運行打印hello world的程序?紮根android手機運行交叉編譯的C文件?

我想交叉編譯後運行一個二進制文件。 當我將文件推入/ data/local/tmp目錄時,我得到權限被拒絕。

任何想法,我應該推它,以便它可以運行?如果可能的話?

或者我需要在終端模擬器上試試嗎?

回答

1

不,您不需要擁有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' 

它適合我。

+0

感謝兄弟!現在工作! –

1

我是否真的需要根據手機來運行打印hello world的程序?

我得到的,當我推文件到/數據/本地/ tmp目錄拒絕的權限。

按下後執行chmod a+x。我似乎回想起Android運行時不瞭解八進制。 (或者可能是基於@Crystax的答案的其他方式)。

+1

謝謝兄弟!只需要澄清那些Android 5.0以上版本的交叉編譯,您需要添加PIE標誌。否則你只得到位置獨立的可執行文件支持錯誤。所以加上--fPIE -pie –