NDK与Helloworld
来源:互联网 发布:数字油画 知乎 编辑:程序博客网 时间:2024/06/11 16:26
1.下载最新版本NDK
http://developer.android.com/tools/sdk/ndk/index.html
笔者32位系统
当前最新版本 http://dl.google.com/android/ndk/android-ndk32-r10-windows-x86.zip
2.解压到自定义目录
配置环境变量
我的电脑->属性->高级->环境变量
找到系统环境变量下的path
点击编辑
末尾添加上D:\Android\android-ndk-r10
3.新建Android工程DemoNDK
在该工程下新建一个Folder文件夹jni
在jni文件夹里新建File文件为Demo.c和Android.mk
Demo.c内容为:
#include <jni.h>jstring Java_com_z_ndk_MainActivity_HelloNDK(JNIEnv *env,jobject thiz){ return (*env)->NewStringUTF(env,"hello world from C");}
注意:
com_z_ndk_MainActivity为你的包名和调用此接口的ActivityAndroid.mk内容为:
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := Demo LOCAL_SRC_FILES := Demo.c include $(BUILD_SHARED_LIBRARY)4.打开CMD命令行cd 进入到DemoNDK工程的jni目录下
输入命令:ndk-build
5.选中工程按F5刷新一下
Layout目录下的xml文件代码如下
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/ndk" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.z.ndk.MainActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/app_name" android:layout_centerInParent="true" android:textSize="25sp" /></RelativeLayout>
MainActivity代码如下
package com.z.ndk;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.RelativeLayout;import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener {private RelativeLayout ndk;public native String HelloNDK();static{System.loadLibrary("Demo");}@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ndk = (RelativeLayout)findViewById(R.id.ndk);ndk.setOnClickListener(this);}@Overridepublic void onClick(View v) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, HelloNDK(), 1).show();}}
效果如下:
0 0
- NDK与Helloworld
- JNI+NDK HELLOWORLD!
- Android Ndk HelloWorld
- Android JNI NDK HelloWorld
- NDK使用之HelloWorld
- NDK的Helloworld例子
- NDK学习之helloworld
- Android NDK HelloWorld
- android-ndk开发helloworld
- Android stdio Ndk HelloWorld
- NDK使用之HelloWorld
- Eclipse 下NDK的helloworld
- Android NDK入门程序HelloWorld
- Android NDK编写一个HelloWorld
- Android NDK HelloWorld配置(Eclipse)
- Android NDK开发之HelloWorld
- Eclipse NDK 开发之 HelloWorld
- 安卓NDK的HelloWorld
- 天易35----mysql分页计算总页数公式
- easy_install工具的使用
- 计算机负数之表达
- 在企业内部分发 iOS 应用程序
- linux适合做服务器,不适合做桌面
- NDK与Helloworld
- Windows 8.1安装.Net Framework3.5的方法
- 一个简单的正则表达式匹配器
- Hibernate的merge方法
- Linux VPS LNMP一键安装及多站点设置详细安装教程
- MVC初学笔记(2):前台使用Ajax调用后台方法
- 正则表达式30分钟入门教程
- setCompoundDrawables和setCompoundDrawablesWithIntrinsicBounds区别
- Trie树的C++实现