捣鼓了一天的NDK,总结下。Eclipse下开发ndk好像挺麻烦的样子,看书上要下载Cygwin,eclipse还要下载插件CDT。。而在AS上就方便多啦。下载android ndk。安装,配置环境,即可。NDK(android native develop kits ):and ...
捣鼓了一天的NDK,总结下。
Eclipse下开发ndk好像挺麻烦的样子,看书上要下载Cygwin,eclipse还要下载插件CDT。。而在AS上就方便多啦。下载android ndk。安装,配置环境,即可。
NDK(android native develop kits ):android 本地开发工具集 ,这些工具帮助开发者快速开发C或C++动态库,并自动将so和java文件打包成apk,可以把c/c++ ->编译成一个 linux下可以执行的二进制文件 java代码里面就可以通过jni 调用执行二进制的文件.
JNI :java本地开发接口,JNI是一个协议这个协议用来沟通java代码和外部的本地代码(c/c++).通过这个协议,java代码就可以调用外部的c/c++,代码外部的c/c++代码也可以调用java代码。
JNI开发用途:Native code效率高,数学运算,实时渲染的游戏上,音视频处理(极品飞车,opengl,ffmpeg等。
一、配置NDK环境
下载NDK,网上有很多,下载好之后,解压即可。然后在AS中配置,依次点击:File ->ProjectStructure:如图:
配置好之后,会在项目下的local.properties文件里自动添加:ndk.dir=D\:\\android-ndk-r10d 如果没有就自己加上,我的是自动的。
二、建立app项目
1.建立一个普通的android project
2.声明原生方法,必须加上native,告诉程序这是一个原生方法。在具体java代码调用时,和调用java的其他方法一样,直接调用就可以了。activity代码:
import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.Toast;public class NDK extends Activity { static { System.loadLibrary("MyJni");//导入生成的链接库文件 } public native String getStringFromNative();//本地方法 public native String getString_From_c(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_ndk); } public void onClick(View view) { System.out.println(getString_From_c()); Toast.makeText(this, getStringFromNative(), Toast.LENGTH_LONG).show(); }}
海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com
原标题:AS下NDK开发(一)
关键词:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。