成都网站建设四川冠辰科技,xampp如何搭建wordpress,石家庄服务大型建站,在线广告设计制作上半年#xff0c;公司的一个项目#xff0c;本身我是不喜欢Android开发的#xff0c;但是学习到的东西总需要整理一下。 从iOS转到Android#xff0c;真心有些不习惯。就IDE来说#xff0c;eclipse比Xcode差的不是一点半点。Android模拟器竟然还要开机#xff01;我勒个…上半年公司的一个项目本身我是不喜欢Android开发的但是学习到的东西总需要整理一下。 从iOS转到Android真心有些不习惯。就IDE来说eclipse比Xcode差的不是一点半点。Android模拟器竟然还要开机我勒个去。。 今天写个最简单的Android NDK的小栗子。 首先什么是Android NDK? NDK 全称是Native Development Kit其他的移步百度百科android ndk_百度百科 1、新建一个Android Application ProjectFuck。 2、新建类 Fuck声明本地静态方法numFromFuck()。代码如下 1 package com.example.fuck;2 public class Fuck {3 4 public native static int numFromFuck();5 6 static{7 8 System.loadLibrary(fuck); //fuck代表动态链接库libfuck.so文件9
10 }
11
12 } 3、给程序添加一个按钮button在点击button时通过调用类Fuck中本地方法更改textView的text代码如下 1 button.setOnClickListener(new OnClickListener(){2 Override3 4 public void onClick(View arg0) {5 6 // TODO Auto-generated method stub7 8 textView.setText(Fuck.numFromFuck() );9 }
10 }); 4、build该工程生成 Fuck.class 类文件在bin目录下这一步比较重要。 5、在终端cd到工程目录下新建个文件夹【mkdir jni】终端输入命令都在中括号中下同然后输入命令【javah -classpath bin/classes -d jni com.example.fuck.Fuck】 然后会在jni文件夹下发现一个文件com_example_fuck_Fuck.h其中代码如下 1 /* DO NOT EDIT THIS FILE - it is machine generated */2 #include jni.h3 4 /* Header for class com_example_fuck_Fuck */5 6 #ifndef _Included_com_example_fuck_Fuck7 8 #define _Included_com_example_fuck_Fuck9
10 #ifdef __cplusplus
11
12 extern C {
13
14 #endif
15
16 /*
17
18 * Class: com_example_fuck_Fuck
19
20 * Method: numFromFuck
21
22 * Signature: ()I
23
24 */
25
26 JNIEXPORT jint JNICALL Java_com_example_fuck_Fuck_numFromFuck
27
28 (JNIEnv *, jobject);
29
30 #ifdef __cplusplus
31
32 }
33
34 #endif
35
36 #endif 6、在 jni 目录中新建Fuck.c实现5中生成的.h文件中的方法 1 #include com_example_fuck_Fuck.h
2 JNIEXPORT jint JNICALL Java_com_example_fuck_Fuck_numFromFuck (JNIEnv *env, jobject obj)
3
4 {
5
6 return 42;
7
8 } 如果你直接从.h文件拷过来的代码一定要记得更改参数。 7、在 jni 文件目录中新建文件 Android.mk 文件 1 LOCAL_PATH : $(call my-dir)
2 include $(CLEAR_VARS)
3
4 LOCAL_MODULE : fuck
5
6 LOCAL_SRC_FILES : Fuck.c
7
8 include $(BUILD_SHARED_LIBRARY) LOCAL_MODULE:fuck 表示要生成的so文件名为libfuck.so这就是在步骤2中需加载的动态链接库。 8、回到终端cd 到工程目录输入命令【ndk-build】没错的话会在工程目录 libs/armeabi 中生成文件libfuck.so。 最后运行程序 点击按钮buttontextView的内容就会变成“42”。 over~ 2014-03-08 转载于:https://www.cnblogs.com/youthpasses/p/3844967.html