ndk build und .so Dateierstellung android

7

Ich bin neu in android ndk.

Ich arbeite an einer App, die Java-Code sowie c / c ++ Code

benötigt

Also, dafür brauche ich android ndk.

Aber ich steckte an dieser Stelle fest, dass ich ndk-build nicht ausführen kann, das die Verbindung zwischen Java und c / c ++ herstellt.

Also. Bitte helfen Sie mir, dieses Problem zu lösen.

Ich habe versucht, sowohl Windows als auch Linux, aber den gleichen Fehler.

Ich habe diesen Fehler, wenn ich ndk-build benutze.

%Vor%     
Kamal Kishor 27.05.2013, 10:30
quelle

2 Antworten

21

Zuerst erhalten Sie diesen Fehler, weil Sie keinen Parameter deklarieren müssen, um eine Verbindung zwischen Java und c / c ++ herzustellen.

SO, ich sende Ihnen meinen Code für Ihr Problem

1.Erste Android-Projekt in Eclipse erstellen.

  1. Ordner unter Projektklick erstellen - & gt; klicke neu - & gt; dann Ordner und nenne es jni.

  2. Erstellen Sie einen weiteren Ordner unter jni name include.

  3. Java-Klasse erstellen.

  4. Code für Java-Klassennamen (MainActivity.java) - & gt;

    %Vor%
  5. Öffnen Sie die Eingabeaufforderung, oder drücken Sie window + R.

  6. gehe in das Verzeichnis - (workspace- & gt; Projektname - & gt; jni - & gt; include).

  7. Befehl unter diesem Verzeichnis ausführen.

    %Vor%
  8. Danach können wir die Datei "HelloJNI.h" im Include-Ordner sehen.

  9. check "HelloJNI.h" habe diese Zeilen drin

    %Vor%
  10. Erstellen Sie eine neue Datei unter jni Benennung test.c (verwenden Sie diese 2 Punkte in Pont 10 in dieser Datei test.c)

    %Vor%
  11. Erstellen Sie eine neue Datei unter jni namens Android.mk

    %Vor%
  12. Erstellen Sie eine neue Datei NDKActivity.java

    %Vor%
  13. Ausführen von ndk-build im Befehl "promt"

gehe zum Projektverzeichnis- & gt; Schreiben Sie dann diesen Befehl <android-ndk-directory>\ndk-build.cmd und drücken Sie die Eingabetaste

Danach können wir die .so-Datei unter obj-Ordner

überprüfen
  1. XML-Datei für NDKActivity.

     

    %Vor%
Vikram Mahal 27.05.2013, 10:57
quelle
0

Es scheint so zu sein, dass diese Funktion in der .h-Datei und der .cpp-Datei nicht übereinstimmt. Sie haben einige Parameter in Funktionen in der .h-Datei erwähnt, die bei der Implementierung in native.cpp-Dateien fehlen.

    
Kirti Patel 27.05.2013 10:34
quelle

Tags und Links