2012-01-07 56 views
0

我開始學習java的JNI以用於Android設備。Android和Java的JNI

當我在某處閱讀時,爲了通過JNI加載,您必須爲C++部分設置一些「粘合劑」。

我的問題是:是否可以在C中使用run()函數,並使用JNI的膠水來運行真實應用程序,並且僅爲入口點提供java? 因爲我不知道如果通過JNI調用run()函數,它可能會導致問題,如果該函數調用另一個函數等。 感謝您的提示!

編輯:我想在C++中使用ndk編碼,並試圖避免編碼在Java中。因此,我想知道是否a)如果我可以使用ndk編譯和運行本地代碼或b)如果我只能使用java來調用我的應用程序,例如:調用woth jni類似app-> run()並讓它執行所有的東西,而不是Java。那麼,java將只作爲一個入口點。

+1

你不太清楚你希望達到什麼目的,你可以把它分解成一個高層次的概述,關於你想用JNI實現什麼? – 2012-01-07 17:34:56

+0

我編輯了原來的帖子來澄清它。 – StormByte 2012-01-07 19:57:20

+0

你想做什麼?你爲什麼不想用java? – clemp6r 2012-01-07 21:04:55

回答

1

如果您想在C/C++(無Java)中爲Android開發,您可以考慮使用NativeActivity,將目標設備設置爲更新的設備(Gingerbread,android-9應用程序平臺)。

請參閱http://developer.android.com/reference/android/app/NativeActivity.html和NDK包內的文件夾$NDK/docs/NATIVE-ACTIVITY.HTML以及樣本代碼$NDK/samples/native-activity

祝你好運!

+0

謝謝你,那是我一直在尋找的東西:) – StormByte 2012-03-13 20:29:21