2012-06-24 42 views
0

顯示Hello World字符,它可能會將數據傳遞到logcat或其他地方,而不是朝着顯示屏幕前進。試圖在Android手機上使用本機代碼

如何管理,以顯示我要使用本機代碼進行傳遞的Dalvik什麼...... T_T

+1

如果您想編寫不使用Android組件的純本機代碼,則可以編寫本機Linux應用程序。手機必須紮根,您的應用程序交互將在ADB外殼中進行。 STDOUT將顯示在shell窗口中。 – BitBank

+0

感謝您的建議@BitBank! –

回答

1

有可能是這樣做沒有正式支持方式。 Android基本上基於在dalvik虛擬機中運行的java代碼。

它曾經是您唯一的選擇是在您自己的本地代碼和java代碼之間使用jni將數據傳遞給Java級別的Android顯示API。

在更新的版本中,可以編寫所謂的本地活動,其中所有代碼都是C或C++。但是,這樣的活動仍然運行在圍繞運行平臺提供的java代碼的dalvik虛擬機構建的進程中,並通過jni調用您的代碼。

有一個嵌入式Open GL本地API,您可以使用它來繪製文本,但很有可能在幕後一些jni仍然參與其中,至少在設置視圖時。

開放GL的原生活動和本地使用都在ndk發行版中有示例。

我想你也可以讓你的代碼通過管道或套接字與不同的進程進行交互,以顯示其輸出,但這只是將dalvik的使用轉移到其他地方。

+0

總是感謝您的建議@Chris Stratton! –

+0

我在想......如果我改變啓動加載器參數並將顯示驅動程序連接到安卓控制檯......怎麼辦? –

+0

是的,你可以做到這一點。也許不是在引導程序級別,而只是改變init腳本來啓動你的特權本地進程而不是基於dalvik的android運行時 - 你可以從一些自定義恢復映像學習,這些映像似乎有一個UI,也許沒有android運行時。 –

相關問題