2017-02-15 7 views
0

私はアンドロイドのndkの部分に新しいです。私はちょうど用意されている.soネイティブライブラリから2つの文字列値を呼び出す方法を知りたいです。Android ndkのクエリ

HelloNNIサンプルと同じように、String呼び出しごとに個別のライブラリを作成する必要がありますか?私はHelloJniの例を理解することができましたが、単一の.soネイティブライブラリから2つ以上の文字列値を呼び出すことができるかどうかはわかりませんでした。すべてのヘルプは

を理解されるであろう

あなたは

答えて

0

あなたが複数のライブラリを必要としませんありがとうございました(もちろんすることができます、建築正当な理由がある場合)。 1つのファイルまたは複数のファイルで、1つのライブラリにすべてのメソッドを配置できます。あなたはHelloJNIサンプルに基づいて2つの文字列のコールを、使用したい場合は、単にたとえば、2つのメソッドを定義する必要があります:

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

おかげでそれが働いていた多くのことを。 .soファイルに関する知識が必要です。つまり、私が生成した.soファイルを持つ他の人が、それを使用するかどうかを知る必要があります。はいの場合は、他のユーザーや見知らぬ人が.soファイルの使用を制限することができます。 –

+0

基本的には、他の人がこのライブラリを使うことができますが、おそらくそれはちょっと役立つでしょう:http://stackoverflow.com/questions/17307684/copy-protection-for-android-ndk-so-shared-library – yakobom