Android之ndk(hello from c)
来源:互联网 发布:陌陌站街用什么软件 编辑:程序博客网 时间:2024/06/15 06:45
处理器:x86,arm,mips
在src/main目录下创建一个文件夹jni,在文件夹下创建一个C文件Hello.c
//// Created by Administrator on 2016/8/30.//#include<stdio.h>#include<stdlib.h>#include<jni.h>#include "string.h"//Java+包名+类名+方法名 jstring Java_com_yang_yin_yinyangapplication_MainActivity_stringFromJNI(JNIEnv* env,jobject obj){ // char arr[] = "heello from c"; //c语言的字符串 char *cstr= "hello from c"; //把C语言的字符串转换为java字符串 jstring jstr = (*env)->NewStringUTF(env,cstr); //jstring jstr = (*(*env)).NewStringUTF(env,cstr); //com.yang.yin.yinyangapplication return jstr;}
再看Activity类中调用
public class MainActivity extends Activity { static { System.loadLibrary("hello"); } @Bind(R.id.textView) TextView textView; @Bind(R.id.button) Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); } @OnClick(R.id.button) public void onClick() { textView.setText(stringFromJNI()); } //定义一个本地方法,方法体由c语言实现 public native String stringFromJNI();}
make一下工程就会生成相应的so文件
相关配置~
apply plugin: 'com.android.application'android { compileSdkVersion 23 buildToolsVersion "23.0.3" defaultConfig { applicationId "com.yang.yin.yinyangapplication" minSdkVersion 10 targetSdkVersion 23 versionCode 1 versionName "1.0" ndk{ moduleName "hello"//生成so的库文件名 ldLibs "log","z","m" abiFilters "armeabi","x86","armeabi-v7a" } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }}dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.4.0' compile 'com.jakewharton:butterknife:7.0.0'}
效果
点击后~
终于可以用C写android了是不是很兴奋~
0 0
- Android之ndk(hello from c)
- Android NDK之Hello NDK
- android NDK开发之Hello NDK
- android ndk之hello world
- android NDK 之Hello world
- Android-NDK-之Hello-World
- Android NDK开发之Hello world篇
- Android NDK入门之Hello Jni
- Android Studio + NDK 之 Hello Word
- Android NDK开发之Hello-JNI!
- Android NDK开发之Hello-JNI!
- Android NDK Hello
- Android NDK Hello
- android ndk hello,world!
- Android NDK Hello
- android ndk Hello World
- 转战Android之NDK(jni, java调用c/c++)
- Android之NDK(jni, java调用c/c++)
- java对字符串进行加星号处理
- UML类图几种关系的总结
- 最大公约数和最小公倍数的问题
- Android初期问题集合
- 使用phonegap从相册里面获取照片
- Android之ndk(hello from c)
- Android之实现滑动的七种方法总结
- 数据库sql递归
- 虚拟机VMware设置开机启动
- gcc -rpath选项
- 关于项目中使用的关于nio client的一些小结
- 单例模式
- day17将数组变成list集合;自定义排序,必须复写比较器;集合变数组
- 消息队列--MSMQ应用(二)