使用NDK构建android程序
2015-11-22 00:00
465 查看
需要将Android sdk升级为4.0.
然后配置好sdk
在创建项目好的时候,右键 android tools->add native support->写入ndk名字。在ndk名字.cpp中写入函数
如下:
extern "C" jstring Java_com_example_testandroid_MainActivity_stringFromJNI( JNIEnv* env,
jobject thiz )
{
return env->NewStringUTF((char *)"Hello from JNI !");
}
extern "c"不能少,因为底层构建是按照c的语法来的。
Java 开头字母一定要大写.
_com_example_testandroid为activity包名
_MainActivity 要使用jni的activity类名。
stringfromJNI 此为函数名。
最后在activity中写入以下东西:
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText( stringFromJNI() );
setContentView(tv);
}
public native String stringFromJNI();
static {
System.loadLibrary("TestAndroid");
}
//这里有的时候会报错。
比如:NewStringUTF can not be resolved,这里要到c++ ->code analysed->中将 method cannot be resolved 取消勾选。
如果:一堆什么xml的报错,把里面的textview 标签 或者什么hello world标签删除掉即可。
然后配置好sdk
在创建项目好的时候,右键 android tools->add native support->写入ndk名字。在ndk名字.cpp中写入函数
如下:
extern "C" jstring Java_com_example_testandroid_MainActivity_stringFromJNI( JNIEnv* env,
jobject thiz )
{
return env->NewStringUTF((char *)"Hello from JNI !");
}
extern "c"不能少,因为底层构建是按照c的语法来的。
Java 开头字母一定要大写.
_com_example_testandroid为activity包名
_MainActivity 要使用jni的activity类名。
stringfromJNI 此为函数名。
最后在activity中写入以下东西:
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText( stringFromJNI() );
setContentView(tv);
}
public native String stringFromJNI();
static {
System.loadLibrary("TestAndroid");
}
//这里有的时候会报错。
比如:NewStringUTF can not be resolved,这里要到c++ ->code analysed->中将 method cannot be resolved 取消勾选。
如果:一堆什么xml的报错,把里面的textview 标签 或者什么hello world标签删除掉即可。
相关文章推荐
- Android实现表情 抓取新浪表情
- 详解Android解析Xml的三种方式——DOM、SAX以及XMLpull
- android开发环境遇到adt无法启动的问题分析及解决方法
- Android开发 旋转屏幕导致Activity重建解决方法
- Android NDK开发之:配置环境的详解
- Android开发技巧之在a标签或TextView控件中单击链接弹出Activity(自定义动作)
- Android开发技巧之ViewStub控件惰性装载
- Android开发的IDE、ADT、SDK、JDK、NDK等名词解释
- Android提高之使用NDK把彩图转换灰度图的方法
- 分享10个很棒的学习Android开发的网站
- android开发之横向滚动/竖向滚动的ListView(固定列头)
- Android开发技巧之我的菜单我做主(自定义菜单)
- 探讨:如何在NDK中呼叫Java的class
- Windows下使用Apache Cordova开发ANDROID之HelloWorld
- Android App 增量更新实例(Smart App Updates)
- 每周总结20130814——Android NDK环境的搭建和使用,YUV420SP格式图像的处理
- Android NDK开发简介
- Android NDK开发之Jni的数据类型
- Android NDK开发之数组类型的操作
- Android NDK开发之Jni调用Java对象