gpt4 book ai didi

Android NDK,并将功能放在 Activity 类之外

转载 作者:行者123 更新时间:2023-11-30 05:45:34 25 4
gpt4 key购买 nike

文中提到: http://androidcookbook.com/Recipe.seam?recipeId=77

是:

"在 Activity 类中,在任何方法之外:

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 操作(加载库、定义函数)放在 Activity 之外,她/他可以吗?
我试图通过创建一个新类并将其导入到 Activity 中来解决这个问题。我将加载库放在类构造函数中,并将方法定义放在另一个类中。 Activity 出现加载库但会崩溃,错误是找不到函数

编辑以添加详细信息:我再次尝试此操作,但将 loadLibrary 函数放回 Activity 中。我得到相同的崩溃报告: java.lang.UnsatisfiedLinkError: 找不到 native 方法:

最佳答案

看来我已经找到了问题所在,这是我的一个疏忽。您可以从导入的类中加载库,并且可以将方法定义放在导入的类中。但是,您必须这样修改函数:初始 header :JNIEXPORT jobjectArray JNICALL Java_com_stackoverflow_MainAcitivty_helloWorld(){

JNIEXPORT jobjectArray JNICALL Java_com_stackoverflow_newclass_helloWorld(){

关于Android NDK,并将功能放在 Activity 类之外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29305939/

25 4 0