2017-02-15 45 views
0

我是新來的android的ndk部分我只是想知道如何從.so本地庫準備調用兩個字符串值。Android ndk查詢

我需要爲每個String調用分別創建一個與HelloJNI樣本相同的庫嗎?我能夠理解HelloJni的例子,但不知道可以從一個.so本地庫中調用兩個或兩個以上的字符串值。

任何幫助將不勝感激

謝謝

回答

0

你不需要多個庫(當然你可以,如果有一個建築的理由)。您可以將許多方法在單個文件或多個文件中進行任何操作,而這些方法都在單個庫中。如果你想使用兩個字符串調用,基於HelloJNI示例,你將只需定義兩種方法,例如:

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