gpt4 book ai didi

android - C 中的 Sum native 方法 - java.lang.UnsatisfiedLinkError : Native method not found

转载 作者:行者123 更新时间:2023-11-30 17:40:58 25 4
gpt4 key购买 nike

我正在尝试创建 NDK 应用程序,但收到此错误 java.lang.UnsatisfiedLinkError: Native method not found: com.examplejni.MainActivity.sum:(II)I

我想从我的 android 应用程序调用用 c 编写的 sum 函数

我错过了一个步骤?

这是c文件(sum.c)

int sum(int n1,int n2)
{
return n1+n2;
}

这是Android.mk

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE := sum
LOCAL_SRC_FILES := sum.c
include $(BUILD_SHARED_LIBRARY)

这是我的 Activity

package com.examplejni;

import com.examplejni.R;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;

public class MainActivity extends Activity
{

static
{
System.loadLibrary("sum");
}

public static native int sum(int n1, int n2);

@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

int value1 = 20;
int value2 = 30;

int nativeOut;

nativeOut = sum(value1, value2);

TextView tv = (TextView) findViewById(R.id.text);
tv.setText(nativeOut);
}
}

最佳答案

您无法直接访问 native 函数。您必须先创建一个要调用的 JNI 函数。

查看此tutorial

关于android - C 中的 Sum native 方法 - java.lang.UnsatisfiedLinkError : Native method not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21312968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com