博客
关于我
Android Studio NDK 如何生成so
阅读量:507 次
发布时间:2019-03-07

本文共 1120 字,大约阅读时间需要 3 分钟。

Android Studio NDK 如何生成so

先来看下代码

MyNdkUtil.java

package com.heiko.ndksotest;public class MyTestNdk {    static {        System.loadLibrary("native-lib");    }    public native String stringFromJNI();}

native-lib.cpp

#include 
#include
extern "C"JNIEXPORT jstring JNICALLJava_com_heiko_ndksotest_MyTestNdk_stringFromJNI(JNIEnv *env, jobject instance) { /*std::string hello = "Hello from C++ !"; return env->NewStringUTF(hello.c_str());*/ char* hello = "Hello from C++ !!"; return env->NewStringUTF(hello);}

接着,编译NDK项目

编译so

然后,在项目中找到so文件

找到so

接着,将so及MyTestNdk.java复制到另外的项目中使用

使用so

其中,MyTestNdk.java的包名必须与原报名一致。

值得一提的是,在正式的环境中,一般会将这些java文件打包成jar包,将jar及so文件直接提供给调用者使用。

最后,在MainActivity.java中调用并运行

public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        TextView tv = (TextView) findViewById(R.id.sample_text);        MyTestNdk myTestNdk = new MyTestNdk();        tv.setText(myTestNdk.stringFromJNI());    }}

App界面显示 Hello from C++ !!,至此调用成功。

你可能感兴趣的文章
Mongodb学习总结(1)——常用NoSql数据库比较
查看>>
MongoDB学习笔记(8)--索引及优化索引
查看>>
mongodb定时备份数据库
查看>>
mppt算法详解-ChatGPT4o作答
查看>>
mpvue的使用(一)必要的开发环境
查看>>
MQ 重复消费如何解决?
查看>>
mqtt broker服务端
查看>>
MQTT 保留消息
查看>>
MQTT 持久会话与 Clean Session 详解
查看>>
MQTT工作笔记0007---剩余长度
查看>>
MQTT工作笔记0009---订阅主题和订阅确认
查看>>
Mqtt搭建代理服务器进行通信-浅析
查看>>
MS Edge浏览器“STATUS_INVALID_IMAGE_HASH“兼容性问题
查看>>
ms sql server 2008 sp2更新异常
查看>>
MS UC 2013-0-Prepare Tool
查看>>
MSBuild 教程(2)
查看>>
msbuild发布web应用程序
查看>>
MSB与LSB
查看>>
MSCRM调用外部JS文件
查看>>
MSCRM调用外部JS文件
查看>>