2017-02-15 6 views
0

Ich bin neu zu ndk Teil von Android Ich möchte nur wissen, wie man zwei Zeichenfolge Werte aus der .so native Bibliothek vorbereitet.Android ndk Abfrage

Muss ich separate Bibliothek für jeden String-Aufruf als HelloJNI-Beispiel erstellen? Ich konnte die HelloJni-Beispiele verstehen, wusste aber nicht, dass es möglich ist, zwei oder mehr als zwei Zeichenfolgenwerte aus einer einzelnen .so-nativen Bibliothek aufzurufen.

Jede Hilfe wird

geschätzt werden Danke

Antwort

0

Sie brauchen nicht mehr als eine Bibliothek (natürlich kann man, wenn es eine architektonische Rechtfertigung). Sie können viele Methoden verwenden, die alles in einer einzigen Datei oder in mehreren Dateien ausführen, alles in einer einzigen Bibliothek. Wenn Sie zwei Zeichenfolgenaufrufe verwenden möchten, müssen Sie, basierend auf dem HelloJNI-Beispiel, einfach zwei Methoden definieren, zum Beispiel:

Java_com_example_hellojni_HelloJni_stringFromJNI1 
{ 
return (*env)->NewStringUTF(env, "Hello from JNI string1! Compiled with ABI " ABI "."); 
} 

Java_com_example_hellojni_HelloJni_stringFromJNI2 
{ 
return (*env)->NewStringUTF(env, "Hello from JNI string2! Compiled with ABI " ABI "."); 
} 
+0

Vielen Dank Es hat funktioniert. Ich möchte etwas mehr Wissen über die .so-Dateien, d. H. Jemand anderes, der die von mir erzeugte .so-Datei hat, kann sie verwenden oder nicht? Wenn ja dann, gibt es trotzdem, von wo ich die Verwendung von .so-Dateien durch andere oder Fremde einschränken kann! –

+0

Grundsätzlich kann die Bibliothek von anderen verwendet werden, aber schauen Sie hier vielleicht wird es Ihnen ein wenig helfen: http://StackOverflow.com/Questions/17307684/Copy-Protection-for-Android-ndk-so-Shared-Library – yakobom