Android NDK,并将函数放置在活动类之外

Android NDK,并将函数放置在活动类之外,android,c++,android-ndk,jnienv,Android,C++,Android Ndk,Jnienv,文章中提到: 是: “在活动类中,在任何方法之外: static { System.loadLibrary("sqrt-demo"); } // In a method of the Activity class where you need to use it: double d = SqrtDemo.sqrtC(123456789.0); " 如果设计师希望将所有NDK操作(加载库、定义函数)放在活动之外,她/他可以吗? 我试图通过创建一个新类并将其导入活动来解决这个问题。我将加

文章中提到:

是:

在活动类中,在任何方法之外:

static {
    System.loadLibrary("sqrt-demo");
}
// In a method of the Activity class where you need to use it:
double d = SqrtDemo.sqrtC(123456789.0);
"

如果设计师希望将所有NDK操作(加载库、定义函数)放在活动之外,她/他可以吗?
我试图通过创建一个新类并将其导入活动来解决这个问题。我将加载库放在类构造函数中,将方法定义放在另一个类中。“活动”将出现以加载库,但将崩溃,错误是找不到函数

编辑以添加详细信息: 我再次尝试此操作,但将loadLibrary函数放回了活动中。我收到了同样的车祸报告:
java.lang.UnsatisfiedLinkError:未找到本机方法:

看来我发现了问题,这是我的疏忽。 可以从导入的类加载库,也可以将方法定义放置在导入的类中。但是,您必须修改该函数,以便: 初始标题:JNIEXPORT jobjectArray JNICALL Java_com_stackoverflow_MainActivity_helloWorld(){

toJNIEXPORT jobjectArray JNICALL Java_com_stackoverflow_newclass_helloWorld(){

“出现”如何加载库?您需要发布日志消息,包括导致该结论的日志消息和崩溃本身的日志消息。最后,您需要发布函数本机实现的代码。