一个NDK工程的过程
来源:互联网 发布:电脑usb端口控制管理 编辑:程序博客网 时间:2024/05/04 02:59
ndk:就是一个跨平台的,建立c++与java的联系的一个方式
什么用到ndk?
1 代码的保护,防止反编译
2 使用到一些C/C++库时
3 ndk可以执行一些cpu运算高,图形界面
如何配置?
1 环境变量的配置:
E:\eclipse_sdk\adt-bundle-windows-x86_64-20140321\adt-bundle-windows-x86_64-20140321\android-ndk-r10e
把对应的ndk目录配置到系统的path路径下
ndk-build 用于编译生成一个obj目录的.so文件,来使用
2 eclipse里的配置
首先建立eclipse和ndk的联系
然后配置两个工具,javah和javap
一般命令行是这样运行的:
javah用于生成jni目录下的头文件
javap用于签名,签名的用处就是以后便于找到对应的方法等
eclipse中我们这样配置
Run–>External Tools–>External Tools Configuration–>program
右键添加一个
最终配置成:
NDK文件新建的过程:
1 新建Android工程,在工程目录下新建jni目录,然后使用工具generate_header_file,点击MainActivity,运行一下。其中MainActivity文件中必须有native方法,如public static native String getFromC();
,实现java里操作c++/c文件就是这种方法
2 工程代码错误显示提示,一般是不会提示,要加以配置才行
add —到你的E:\eclipse_sdk\adt-bundle-windows-x86_64-20140321\adt-bundle-windows-x86_64-20140321\android-ndk-r10e\platforms\android-19\arch-arm\usr\include添加就行。
然后工程右键点击–AndroidTools–Add native support,会发现生成一些头文件include目录等和jni目录下会有对应的.cpp文件生成。
3 jni目录需要添加Android.mk文件,在com_example_ndk_MainActivity.h(这是一开始生成的头文件,里面包含一些native方法)取出native方法到.cpp/.c使用,进行c/c++文件的操作
Andriod.mk:
#在这里添加一些依赖的库才能实现编译LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := ndkLOCAL_SRC_FILES := NDK.cpp#for logLOCAL_LDLIBS += -lloginclude $(BUILD_SHARED_LIBRARY)
4 最后调用:
先用静态代码块System.loadLibrary(“libname”);
libname—->Android.mk文件下的MODULE=”name”
public class MainActivity extends Activity { private TextView text; public static native String getHello(); static{ System.loadLibrary("ndk"); } @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.main_activity); text = (TextView)findViewById(R.id.hello); text.setText(getHello()); }}
5 在命令行进入该工程目录下,运行ndk-build,然后再运行到设备上。
6 小工程:
链接:http://pan.baidu.com/s/1i4KkibV 密码:sfgv
- 一个NDK工程的过程
- android ndk 入门 - 一个简单的ndk工程
- 开发一个NDK工程
- 一个完整的NDK编译过程
- 一个简单的JSPweb工程创建过程
- 制作一个工程的一般过程
- 一个android工程的运行过程
- 全志添加一个工程的过程
- 一个android工程的运行过程
- 一个android工程的运行过程[转]
- 创建一个NDK工程(JNI)
- Android的JNI【实战教程】2⃣️--AS下NDK环境配置及第一个工程
- Android的JNI【实战教程】2⃣️--AS下NDK环境配置及第一个工程
- 在eclipse中简单创建一个jsp工程的过程
- Android jni的调用过程JNI_OnLoad(),利用Android NDK编写一个简单的HelloWorld
- NDK工程的创建、编译、打包
- NDK的环境配置与工程创建
- android的NDK安装及工程实例
- 工作日志--opensns二次开发--渠道俱乐部--2016.7.27
- Viewpager图片自动轮播
- 如何提取谷歌地球的高程点为XYZ文本
- C#之创建Xml
- Opencv图像识别从零到精通(17)----开运算、闭运算、顶帽、黑帽、形态学梯度、形态学角点、细化、填充
- 一个NDK工程的过程
- HDU1106
- java校验中文姓名合法性(需要支持生僻字与分隔符·)
- UVa 10285 BFS的做法
- Codeforces Round #219 (Div. 1) A. Counting Kangaroos is Fun 【二分】
- Cocos2d-x 接入sdk遇到的小问题
- 计数排序
- kafka源码分析之producer
- PHP AJAX上传图片