Android中Java调用so算法库的代码示例?
时间: 2024-05-14 20:14:50 浏览: 10
下面是一个简单的代码示例:
1. 在Android Studio中创建一个新的Android项目。
2. 在app / src / main / jniLibs文件夹中添加一个名为armeabi-v7a的文件夹。
3. 将您的.so文件添加到此文件夹中。
例如,您的项目结构可能如下所示:
```
- app
- src
- main
- java
- com.example.myapplication
- MainActivity.java
- jniLibs
- armeabi-v7a
- libmylibrary.so
```
4. 在MainActivity.java中添加以下代码:
```java
public class MainActivity extends AppCompatActivity {
// 加载动态链接库
static {
System.loadLibrary("mylibrary");
}
// 声明一个native方法
public native String hello();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 调用native方法
String message = hello();
Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
}
}
```
5. 在Android.mk文件中,将您的.so文件添加到您的应用程序的本地库中。例如,
```
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := mylibrary
LOCAL_SRC_FILES := libmylibrary.so
include $(PREBUILT_SHARED_LIBRARY)
```
这样,当您运行应用程序时,它将加载您的.so文件,并在MainActivity.java中调用hello()方法,并显示一个Toast消息。