2017-04-02 46 views
0

我的工作,需要我CLSTM library(一個C++實現LSTM網絡的OCR的)在Android應用程序集成的項目。我是一名初學Android開發人員,這是我第一次與NDK合作。如何在Android應用程序中集成CLSTM庫?

我有麻煩的C++代碼與我的項目整合。我一直試圖做幾天,但仍然沒有得到。我一直在尋找解決方案,但我無法找到針對我的問題的確切說明。

我已經能夠做的到現在是:

  1. 創建新的項目使用C++的支持
  2. 下載的Android NDK
  3. 下載CMake的
  4. 創建JNI文件夾
  5. 克隆的源碼到JNI文件夾

我ñ ot確定我是否應該做上面的步驟4,5。另外,從我發現的所有教程中,我認爲在這些之後,我應該創建一個Android.mk和Application.mk文件。我不知道該寫什麼。

任何人都可以指導我如何在我的Android應用程序這個特殊library整合的具體步驟?

+1

是你能夠編譯庫,並得到了一個.SO文件脫離它?如果是的話,你的Android.mk應該很簡單。 https://developer.android.com/ndk/guides/prebuilts.html – user1506104

回答

1

這不是真的清楚你有什麼確切的問題,但我給它一個鏡頭,因爲我一直在用這個自己近期涉足。這是我所採取的步驟:

  1. 使用classpath 'com.android.tools.build:gradle:2.2.0我的編譯工具版本
  2. 加在我app/src/main/jni目錄
  3. 加入Android.mkApplication.mk文件中的C庫在我app/src/main/jni目錄
  4. 添加以下我的app/build.gradle

```

externalNativeBuild { 
    ndkBuild { 
     path 'src/main/jni/Android.mk' 
    } 
} 

```

你可以找到我的Application.mkAndroid.mkhere內容。 我根據我的.mk文件於keepassdroid項目&內容的設置。

編輯:

,如果你也想用特拉維斯-CI,你可以用它來下載和使用的Android NDK在你的構建:

before_install: 
    - curl -L http://dl.google.com/android/repository/android-ndk-r14-linux-x86_64.zip -O 
    - unzip -q android-ndk-r14-linux-x86_64.zip 
    - export ANDROID_NDK_HOME=`pwd`/android-ndk-r14 
    - export PATH=$PATH:${ANDROID_NDK_HOME} 
相關問題