Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 初級開發 >> Android JNI開發疑點總結

Android JNI開發疑點總結

編輯:初級開發

很多android新手對於JNI開發過程中的疑問不是很清楚,根據[email protected]郵箱中反饋的內容我們整理如下:

  1. JNI中,什麼情況才處理JString、jint、jobject這樣的類型,其實通過NDK開發android C++應用,大部分仍然是常規的cpp和h的標准寫法,只有需要和Java層通訊的方法才包含了類似JNIEXPORT void JNICALL XXX這樣的函數,大多數的邏輯和標准C/C++沒有什麼區別。

 2. 我有一個在Windows上開發好的dll能否在Android上使用呢? 這裡Android開發網提醒大家,對於dll這樣的PE文件只能在Windows平台下使用,而Linux上的動態庫so文件如果是PC上的也無法通過JNI在Android上調用,由於CPU的指令不同,手機上必須使用ARM交叉編譯器生成才可以使用,而PC上的為x86或64位,即使是Hello World這樣代碼兼容性很強,也必須在NDK中重新編譯才能在android上使用。

 3. 學習JNI的基礎是什麼,或者說什麼順序學習? 這點Android123推薦大家先了解Java的類型,和內部編碼,然後學習C/C++語言,對於NDK r5開始支持的C++語言,這裡android開發網要和大家說下了,如果需要在JNI中調用Java的類,你可以學習下反射機制,同時C++ STL在NDK r5開始支持,這樣開發應用維護起來更方便些。最後看下NDK的Samples下載android源碼Framework層基本上就沒有什麼大問題了。

 4. 學習NDK最大的困難是什麼? 這裡Android123認為,國內網友大多數都在Windows下做開發工作,整個NDK環境需要Cygwin,同時mk這樣的makefile編譯腳本的手動編寫可能不是很友好,這點Android開發網已經准備了一整套的Android開發工具,將在近期公開,幫助大家在PC輔助開發android應用,同時常見問題提供了相應的鏈接。

  5. 在android JNI用處大嗎? 對於大多數開發者來說可能主要用於OpenGL游戲設計上,不過對於純運算,算法上C語言比Java有著很多天生的優勢,這點不容置疑,多一門技術多一個出路嘛,整個android源代碼十分龐大,開源的力量最終還是能打敗更封閉的Windows Phone和iOS的。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved