2017-04-02 1 views
0

Ich arbeite an einem Projekt, das erfordert, dass ich CLSTM library (eine C++ - Implementierung von LSTM-Netzwerken für OCR) in einer Android-Anwendung integrieren. Ich bin ein Anfänger Android-Entwickler und das ist mein erstes Mal mit NDK arbeiten.Wie CLSTM-Bibliothek in Android-Anwendung zu integrieren?

Ich habe Probleme bei der Integration des C++ Codes in mein Projekt. Ich habe versucht, es für ein paar Tage zu tun, aber habe noch nichts erreicht. Ich habe überall nach Lösungen gesucht, aber ich finde keine genauen Anweisungen für mein Problem.

Was ich in der Lage gewesen, bis jetzt zu tun ist:

  1. Erstellt neues Projekt mit C++ Unterstützung
  2. Android NDK
  3. heruntergeladen CMake
  4. Erstellt JNI Ordner
  5. Geklonte die Quelle Code in JNI-Ordner

Ich bin n Sicher, ob ich die obigen Schritte 4, 5 machen sollte. Aus all den Tutorials, die ich gefunden habe, denke ich, dass ich danach eine Android.mk und eine Application.mk Datei erstellen soll. Ich bin mir nicht sicher, was ich in sie schreiben soll.

Kann mir jemand genaue Schritte für die Integration dieser bestimmten library in meine Android-Anwendung führen?

+1

können Sie diese Bibliothek kompilieren und bekam eine .SO Datei raus? Wenn ja, sollte dein Android.mk ziemlich einfach sein. https://developer.android.com/ndk/guides/prebuilts.html – user1506104

Antwort

1

Es ist nicht wirklich klar, was für ein Problem Sie haben, aber ich werde es versuchen, da ich mich selbst in letzter Zeit damit beschäftigt habe. Dies sind die Schritte, die ich nahm:

  1. Mit classpath 'com.android.tools.build:gradle:2.2.0 als meine Build-Tools Version
  2. hinzugefügt, um die C-Bibliotheken in meinem app/src/main/jni Verzeichnis
  3. Added ein Android.mk und Application.mk Datei in meinem app/src/main/jni Verzeichnis
  4. addierten die folgenden zu meinen app/build.gradle:

`` `

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

`` `

Sie können den Inhalt meiner Application.mk und Android.mkhere finden. Ich basierte meine Einrichtung der .mk Dateien & Inhalte auf dem keepassdroid Projekt.

Edit:

wenn Sie wollen auch travis-ci verwenden, können Sie dies den Android NDK zum Download verwenden und in Ihrem bauen:

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}