NDK的发布,使“Java+C”的开发方式终于转正,成为官方支持的开发方式。NDK将是Android平台支持C开发的开端,今天我们开始ndk的学习。

NDK的简要说明

ndk是什么:

  The Native Development Kit (NDK) is a set of tools that allow you to leverage C and C++ code in your Android apps. You can use it either to build from your own source code, or to take advantage of existing prebuilt libraries.

  The NDK is not appropriate for most novice Android programmers, and has little value for many types of Android apps. It is often not worth the additional complexity it inevitably brings to the development process. However, it can be useful in cases in which you need to:

  • Squeeze extra performance out of a device for computationally intensive applications like games or physics simulations.
  • Reuse your own or other developers' C or C++ libraries.

什么场景可以应用ndk:

  • 代码的保护,由于apk的java层代码很容易被反编译,而C/C++库反编译难度较大
  • 在NDK中调用第三方C/C++库,因为大部分的开源库都是用C/C++代码编写的
  • 便于移植,用C/C++写的库可以方便在其他的嵌入式平台上再次使用
  • 提高程序的执行效率。将要求高性能的应用逻辑使用C开发,从而提高应用程序的执行效率。

使用NDK的Android项目

一、 先下载NDK的jar包,地址:http://192.168.10.75/android-ndk-r10e-windows-x86_64.exe

点击直接解压,得到android-ndk-r10e文件夹,配置path系统变量:D:\android\ndk\android-ndk-r10e;

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlAAAAA1CAIAAAABJkLSAAANYElEQVR4nO2d248UxxXG99+a52BFTpRVhCIegsEkZJxYydjIzs2RSGwnSptEjCy/RFEk90OElUTIYA8ybYd4WcBc1kBjG9hhgWUXdrhOuCy7rGGHbB56uvvUqVPV1XPbS38/7cPO9Knq0zXd9fU5Vd011AIASCwuLrcHxQDtPBiK1s7i8Q4N3A0AAABgGYDgAQAAKAQQPAAAAIUAggcAAKAQQPAAAAAUAggeAACAQgDBAwAAUAggeAAAAAoBBA8AAEAhgOABAAAoBBA8AAAAhQCCBwAAoBA4Cd5QTvrtNAAAAJAXV8FbcqZnglcrD5WqdXf7erUkFshbj1y2Xi0NlWud1dJnTAcu0k1rgNVD6Fcy8MO2aSPwvKCxrN5mE/qpw4RG4DkcYdvOC0LNXKo09Csrv0FAR+QQPDGYg+Bl1zDECtbK7cbrkfKscMGrV0vx2aK0Q9IMlnY12dSrpZ41X35IL0v6y0Ri1M4y9IVuNZUjdUsj8IRuWu17XWw4BrmIK8jXvZuc7y+yCinONwIv9aj9If6tog2KBW2WjPuDgugfP5ekUzo9+aUTU2w28XqRL6IU5ZSNjP2wxX6p/L9LPsHTtW0FCV4/6ulK8KJeuVxWChJ1qpVtfX2fGLTgkYOkwuzihtGmXi2VSjlEvreEfnKZpdrTCLz46gt90r1WKp7ve+olbQ4gVO1pBJ7nedzWxUbw2ShO5q5erHSA0Y81emt7kSl4sdPZgjdI9V6RsHNJPKXT/zLOhPTSIEXSKsWLSIH8IqQGdbfKBjc6jPCo4LHvIXgqakHl03KkSZdB8JL9Jf/Xq6VMJ4w20YaVkZqN+1vlohVCMPWjqZ9QupDITutVXGzEmuWOQe0ySDckM9DsJ1Mnk41ZE/1Q3W5JaUYNJIt/McI7fi6Jp7Rw9hlrk4RRPFXleuJTNvTVX4BWYdBKG50IXqJ2NMKzCZ6Q1KqVh0rVallL7aU5LLIhEoZaOf2GmsVVKvIh1sPowAdyOIJS6X5yt1q1Mi1Ieu10p6KzzLJdR/RtuodcRyQ3o21H5vRkeqikRPRvHNeR+K5eLaVuWqI4ySbWQYPg8WYUXcpsbWfIVakmN1kOSAk8vCAQs5/sUvaCht5DuNjIfkqBIO9qsgRPdJ5EAr1FFTziG2ltpwgv0jFrz0irbJDutCBqJ5xL4inNBc/UqJqdFzSMJ4p8Nxb6FT8UipCqO9C7/IJH5W1IEj9N8OrVMrnFT7vm+N+0J1RyfLWyIjbylhbrWdPKDdaU3D6Ua7bqDEpoi+niXpv23nLYRw+uVColvsZS0kGrys3otiMjbUtFjhKVJHc7Yp6TVSTYMG2va2WEZtRcym5tR5Jrj115NsGjQ3rq5ax242k+iN3eZtqYPc3swbMET3S+v4JH21joio1ZTPIhDDyv4geBn2q1Fr+lR94Ifa9IkV2rJZ5L8indCDwaFJvuIvgZmcTZsrCZcufijzDQMbyOBK/VEiID1ulIN+2mdCLv6uKtiZWxHjZbJL8PZTbqxioUe0+HCE8NwOLq1MpTwS1V67VyW3+UTfmOKKsZhR21XWLVsUiJ2ZDdJLql7lqO1SQb2pRCKbkZNZeMZvngAwvugqfOCtAzSLSA6ZbaaGN0lhSkQzN2zHfXbvvtisjpROji3QmzGQy0+/AgCNoJSzEubO/L831zVWt6fE8+l0ynNJnIEsj3R+bbP+3eyDIIlyaZLTn9/IN4PRA8+r0geHRCXWddc7bgqf2+sR5Gbh+GMqZKuAmenu10Go+Kh64SBarFMtQzwaMDbNKOiNtmmdDURdc2dXhOPnrBppbeNSWw2w9LKJ9rvkwW/EKzpXqElKauGUzLxA7Xxcbsr8swolNKc4CCF0eQieL5IfORq58wS9MPGomVLvFJ86vNp06ZWPN6J5xL2dlLy5Mixrs/9yknce00qLTX50QPHkvQPyqF2S2+pWtWkm+yTsY1qrk4od8X62F05AMdFOI4CB79qIaeJOsoV9+emxinb5N8Y4bgGY/I0IzWHVWl8VK9TdUcpBL8KeN63IC3m8VGvRURk7faQGee1jYjpvAMg/RsEyue/mscjXAZsehm0go3y560ojnv8k8n0KmV9J6eVqgKlSR4YRANPSmHrym+duDyztc+8vkmnWGWVKR2+usal31msFmacj6jrxGeI1zwSDqTTNEXu2Z1MkHVMkMya9KKXA+jYx8iC9tAGztwxdH0a9nW2AFTraUakCF4ltaQmtGyI1pA8pIPuybiJhSy15RtIwmenDrXXXJqbRM8SKD9Awu1+L2zOomCfGPuVZWcZ6aNzemeCF5Ldr4fgie6rD9WYJQ/8bGEdBsrx71c62GdCS2uM57Scvgn/eL0MqDjf8JFpHqixnWVJKPtmNYQwavFAFhmXPIy3eUPeyh4AyLSINsQnR8KOkafRODzgQyVeb6v6qSxDwYiq+rmAOIEVgJ8JskKfYtbX+i/3gHQN1wel1w5QPAAAAAUAggeAACAQgDBAwAAUAggeAAAAAoBBA8AAEAhgOABAAAoBK6C93Xz/fkb1bmZnbNTOx5MvvXg8o57F/9498Lvm+Ov3z63/c6FP8/eHOmrowAAAEA3OAre4vyNnYuPPni6eGvu9l//e8W7dOq1J/MHnj45FP09nvvo5jmvv54CAAAAXeAa4c3f2Lm4sG9xYd/SUmtpqTX1+Yvnjv7u0d33W49HFhf+/WRu/8ypV/rqKAAAANANuQVvcWHf0tLS5eM/+uLgrxtfvvFkbv/j2Q8W7u2+enJbj13L+1Z7y8pqHb8d37RiAwArm+ylf+j7EVf6W1ysS32yF6JZ33S1ul4LAnqOs+Bdp4LXmjjy/JlPf34t3L5wb/d8c9fDW+9Oj73UY9fWhuDRhUzpV9GrnLtcpQYsC+SljPz9tvpbGLV1Mm0rWMYde7c2HJsI5NK7Lpff7ALjy9USvWv/A8EDZlwF72HjT5HaPZ7f+7+nc+MHv3/6wEvTJ3/58Na7s42/3L/69pUTP+2xa71Yt6zberoSvGgtnnSFiORLaZkasFogAUUaeJC3xKdLlkSLrfq+xwXPpBTaYqcd2gg+G0XAHApKtQ/snZ62hV2pe3QhdLpsnsPxabcsYO3jKniz196K1G7hwb9aT26e/c+GUx//ZOrEtvtX3747uaM58ebVky/fvrSrl66tesGLUAsqn5AmXe3E3a2ScrMuAGvTDGVZ6S5sxFJyx64uKJa9WsKAX2ItBGTagnjGtV0TyW40GmKF5HtQEFwF7/7UHyK1m2v+/dGDo19+sv7zj34wefTF5sSbt8d/c/OrV6+fqVz6rCwXFpYfq5Wjtdl4ak99a74iNrXykLJ4Ka9SkQ+xHkYHPpDDEZRK95O71aqV2aJw0pp1SHSuFmIh0RbvIp2yIHhydEGKdWUj++l54kplbPjLQfD4Trta5TULYSlytuB55Ag5El3coxR0fGcS/2CViueHULyC4Sp4dyffiNTu/o2/NaffObN/+MSHGy8d2hpJ3cypF5rN5sXDW6Wi9WpZW/KaDm0ZV6xWl+4Ut9BC8ornzJqS24dyzVadQQltMV0seGzhVoR9q4NEfZim2QWvRTcQO9OKp3ltzJ5GKVaLZY718NTV2vsX9amarH+KFrOzrfbKq0MOs8i4Cl7z4vZE7W5e3HF637eO7/nexMhzM6deuDa2ZfrYxmazOXHoh6bi0krU2trcLPdoSifyFGW8NbEy1sNmi+T3ocxG3ViFolY5RHh8MTgEeasAJRmYJ8JT66ALpotWOW2MzpL1yeloo8s4mbHOgWQ36SiduscwCBq6gglLZXd8jGCt4Sp4t+qvJWo3c/b1kx9+8+ju4QsHNkwf2zj12YYrh9c3m80Lo1uEktHUDa5cvRW8UrXuIniM3D4MlUryRFByqNmCp2c7ezVaCQaFOvTFuuKMMbyWVMxslM/G7K/qUcaERxcGOJzXVi1pd5HgmWSNlwh9z/cDhHjFxVXwbpz9RaJ2U6d/Nbb3mSP/fLb+yforh9dPjg5Pjg5v+vhy/eBmoSTpzevVki3CU9KJsk7GNaopTR5fmeoxe+buAzkGDQfBox/V0JPkUZHRXMmIKTwiRlwItHxn/CH0KwYt69jGhDXNR80y69F3mrSH5Z8uifVMOIasCE/dkP3cAljbuArezBfbErW7fOLlsT3rjvzjmfFgOFK7ydHhZ3d9NT6ySSqapjPJFH1RbNSpG1XLDMmsSStyPYyOfYgsdFkStI2izHlhNQjzesCKhAcTNN/IumXyvB7doD+wp4dcndnYnO6J4Bkc65vgtfdGVbai3U44CB5/GFJ7OBIUBFfBmz79s0TtJo78eGzPusPvfYMK3uXR71469mpffQVgTeKSHOwugdg7wRsU0b2CcbJPhcSXDmN4ppFP4zawRnEVvOvnqxcOP3/+4KbzI5vPj2wZ27Nu9L1vnw02jB/cPD6y6fynz1069sqdqX199RWAtUj/9Q4A0Gq1cq2H9/X87TvTwcTx356sfefI3q0Xw92PZnEJAgAAWB1gAVgAAACFAIIHAACgEEDwAAAAFAIIHgAAgEIAwQMAAFAI/g9rmhaLOqjkqwAAAABJRU5ErkJggg==" alt="" />

在cmd中测试:如下表示环境变量配置成功

aaarticlea/png;base64,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" alt="" />

二、 我们建立一个Android的项目,和普通的android项目一样。这里我们用的IDE是eclipse。

我们创建jni文件夹:

aaarticlea/png;base64,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" alt="" />

MainActivity中增加native方法,此时MainActivity内容如下:

package com.example.firstndk;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity; public class MainActivity extends AppCompatActivity {
// 定义一个native方法
public static native String getStringFromNDK(); @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}

二、 根据MainActivity生成头文件:

在命令行中做以下的操作:

C:\Users\Linux>cd J:\android\andridtest\eclipseTools\--\FirstNDK // 项目的本地目录

C:\Users\Linux>J:

J:\android\andridtest\eclipseTools\--\FirstNDK>javah -classpath bin/classes;D:\android\ndk\jar\android.jar;D:\and
roid\ndk\jar\android-support-v7-appcompat.jar;D:\android\ndk\jar\android-support-v4.jar -d jni com.example.firstndk.Main
Activity

上述的效果如下,在jni文件夹中生成com_example_firstndk_MainActivity.h文件,内容如下:

命令行的格式说明:javah -classpath 编译项目所需的jar包路径 -d 编译文件的存放位置(相对路径jni) 编译的对象类

/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class com_example_firstndk_MainActivity */ #ifndef _Included_com_example_firstndk_MainActivity
#define _Included_com_example_firstndk_MainActivity
#ifdef __cplusplus
extern "C" {
#endif
#undef com_example_firstndk_MainActivity_BIND_ABOVE_CLIENT
#define com_example_firstndk_MainActivity_BIND_ABOVE_CLIENT 8L
#undef com_example_firstndk_MainActivity_BIND_ADJUST_WITH_ACTIVITY
#define com_example_firstndk_MainActivity_BIND_ADJUST_WITH_ACTIVITY 128L
#undef com_example_firstndk_MainActivity_BIND_ALLOW_OOM_MANAGEMENT
#define com_example_firstndk_MainActivity_BIND_ALLOW_OOM_MANAGEMENT 16L
#undef com_example_firstndk_MainActivity_BIND_AUTO_CREATE
#define com_example_firstndk_MainActivity_BIND_AUTO_CREATE 1L
#undef com_example_firstndk_MainActivity_BIND_DEBUG_UNBIND
#define com_example_firstndk_MainActivity_BIND_DEBUG_UNBIND 2L
#undef com_example_firstndk_MainActivity_BIND_IMPORTANT
#define com_example_firstndk_MainActivity_BIND_IMPORTANT 64L
#undef com_example_firstndk_MainActivity_BIND_NOT_FOREGROUND
#define com_example_firstndk_MainActivity_BIND_NOT_FOREGROUND 4L
#undef com_example_firstndk_MainActivity_BIND_WAIVE_PRIORITY
#define com_example_firstndk_MainActivity_BIND_WAIVE_PRIORITY 32L
#undef com_example_firstndk_MainActivity_CONTEXT_IGNORE_SECURITY
#define com_example_firstndk_MainActivity_CONTEXT_IGNORE_SECURITY 2L
#undef com_example_firstndk_MainActivity_CONTEXT_INCLUDE_CODE
#define com_example_firstndk_MainActivity_CONTEXT_INCLUDE_CODE 1L
#undef com_example_firstndk_MainActivity_CONTEXT_RESTRICTED
#define com_example_firstndk_MainActivity_CONTEXT_RESTRICTED 4L
#undef com_example_firstndk_MainActivity_MODE_APPEND
#define com_example_firstndk_MainActivity_MODE_APPEND 32768L
#undef com_example_firstndk_MainActivity_MODE_ENABLE_WRITE_AHEAD_LOGGING
#define com_example_firstndk_MainActivity_MODE_ENABLE_WRITE_AHEAD_LOGGING 8L
#undef com_example_firstndk_MainActivity_MODE_MULTI_PROCESS
#define com_example_firstndk_MainActivity_MODE_MULTI_PROCESS 4L
#undef com_example_firstndk_MainActivity_MODE_PRIVATE
#define com_example_firstndk_MainActivity_MODE_PRIVATE 0L
#undef com_example_firstndk_MainActivity_MODE_WORLD_READABLE
#define com_example_firstndk_MainActivity_MODE_WORLD_READABLE 1L
#undef com_example_firstndk_MainActivity_MODE_WORLD_WRITEABLE
#define com_example_firstndk_MainActivity_MODE_WORLD_WRITEABLE 2L
#undef com_example_firstndk_MainActivity_DEFAULT_KEYS_DIALER
#define com_example_firstndk_MainActivity_DEFAULT_KEYS_DIALER 1L
#undef com_example_firstndk_MainActivity_DEFAULT_KEYS_DISABLE
#define com_example_firstndk_MainActivity_DEFAULT_KEYS_DISABLE 0L
#undef com_example_firstndk_MainActivity_DEFAULT_KEYS_SEARCH_GLOBAL
#define com_example_firstndk_MainActivity_DEFAULT_KEYS_SEARCH_GLOBAL 4L
#undef com_example_firstndk_MainActivity_DEFAULT_KEYS_SEARCH_LOCAL
#define com_example_firstndk_MainActivity_DEFAULT_KEYS_SEARCH_LOCAL 3L
#undef com_example_firstndk_MainActivity_DEFAULT_KEYS_SHORTCUT
#define com_example_firstndk_MainActivity_DEFAULT_KEYS_SHORTCUT 2L
#undef com_example_firstndk_MainActivity_RESULT_CANCELED
#define com_example_firstndk_MainActivity_RESULT_CANCELED 0L
#undef com_example_firstndk_MainActivity_RESULT_FIRST_USER
#define com_example_firstndk_MainActivity_RESULT_FIRST_USER 1L
#undef com_example_firstndk_MainActivity_RESULT_OK
#define com_example_firstndk_MainActivity_RESULT_OK -1L
#undef com_example_firstndk_MainActivity_HONEYCOMB
#define com_example_firstndk_MainActivity_HONEYCOMB 11L
#undef com_example_firstndk_MainActivity_MSG_REALLY_STOPPED
#define com_example_firstndk_MainActivity_MSG_REALLY_STOPPED 1L
#undef com_example_firstndk_MainActivity_MSG_RESUME_PENDING
#define com_example_firstndk_MainActivity_MSG_RESUME_PENDING 2L
/*
* Class: com_example_firstndk_MainActivity
* Method: getStringFromNDK
* Signature: ()Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_com_example_firstndk_MainActivity_getStringFromNDK
(JNIEnv *, jclass); #ifdef __cplusplus
}
#endif
#endif

com_example_firstndk_MainActivity.h

主要有用的内容是声明了一个Java_com_example_firstndk_MainActivity_getStringFromNDK的方法:

JNIEXPORT jstring JNICALL Java_com_example_firstndk_MainActivity_getStringFromNDK
(JNIEnv *, jclass);

三、 在jni文件夹下,创建一个C文件,我们命令为:hellondk.c

#include<stdio.h>
#include "com_example_firstndk_MainActivity.h" JNIEXPORT jstring JNICALL Java_com_example_firstndk_MainActivity_getStringFromNDK
(JNIEnv * env, jclass jclass) { return (*env)->NewStringUTF(env, "Hello, NDK.");
}

在jni中创建一个Android.mk文件(可以从官方文档的项目复制过来,做修改就可)。

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := hellondk
LOCAL_SRC_FILES := hellondk.c include $(BUILD_SHARED_LIBRARY)

LOCAL_SRC_FILES就是我们创建的C代码的源文件hellondk.c,而LOCAL_MODULE就是hellondk。其它的不需要做改动。

四、 在MainActivity中增加对JNI的调用,此时的MainActivity.java内容如下:

package com.example.firstndk;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView; public class MainActivity extends AppCompatActivity { private TextView textView;
// 定义一个native方法
public static native String getStringFromNDK(); static {
System.loadLibrary("hellondk");
} @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); textView = (TextView) findViewById(R.id.textView);
textView.setText(getStringFromNDK());
}
}

命令行中编译项目:ndk-build,生成obj文件夹

J:\android\andridtest\eclipseTools\--\FirstNDK>ndk-build
Android NDK: WARNING: APP_PLATFORM android- is larger than android:minSdkVersion in ./AndroidManifest.xml
[armeabi] Compile thumb : hellondk <= hellondk.c
[armeabi] SharedLibrary : libhellondk.so
[armeabi] Install : libhellondk.so => libs/armeabi/libhellondk.so

生成的obj内容大致如下:

aaarticlea/png;base64,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" alt="" />

五、 在模拟器中运行项目,得到结果:

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAASsAAAHwCAIAAABxP94PAAAaUUlEQVR4nO3de1SU553A8ZkBTaLRtrZWm0TtCCpqjHIRxGyqwbuxahJrY9qsTbVrlpxgImMiSgAlmpB1XYUkBmu9nJqbjRoF3JSQrLGhGmWbc1oVDCIIIneQ6zDvALN/POHdcRgQEP156vdzOJ6ZZ573why+vpch0WAAAAAAgDuS0Wg0mUzGVupxN9ZjMpna3YSnp2effp59+nn2udfjnr43sLPAPxeTyTRw4MCRI0cGBgZOnjw5ICDA29t7wIAB3YjQx8fH7bjRZPrBg0ETYnZNiNk1PvoPPqEbTL16G43t5gr8kzMajffcc8+IESPmz58fFhb26quvRl8rMjIyNDR0zpw5ZrO5d+/e163RZDI9+OCDs2bNct2QyfTAjF+YH1/usyIqKD45MD4pcFuS/+vvmx9fZn7y377nPe6mfYvA7cpoNI4aNWrVqlUqtqioqOjo6A0bNmzcuPH1119/7bXX1q9fr49HRUWtXLlyyJAhHa9z6NChCxcunD59uuu2PDzHRbwduO1IUHxyUELKpLdSJr11dFJCSlB8clB80uAp893tn8no6enyZTB5dPQdeXgYPVonGI1tF///VwFxTz31VGRkZHR0dExMzIYNG1588cUFCxY88sgj/v7+vr6+AQEBU6ZMWbRokcViiY2NjYmJiY6OjoiI+PnPf97eCocMGTJ//vwBAwZMmzbN5aXvCoxPCoxPmbL90+k7UqfvSA1J/HNQQkpQfPLgqW4K7PfQw6O3fer85Xck/4HlUe1t3bP/gHF7T/tsPmL08DQYDL1/dN+o/zjsvLjvx996R+/t7rsF9LRp06ap087nnntuwoQJXl5es2bNWrFihcViWbt27apVq5YvXx4SEmI2m4OCgsLCwmJiYtatWxcYGNh2VUajsX///vPmzRs8eLCHh4f7Y+Dat4Pikyb815E//m/OmaKqrNKrb/zPPwLbL9BFH68HfQ/l9B3l5/5lo2lo6Ea/T3L1Al30+uHgcXtOD5iy8PrvC3BreHh4zJkzZ+zYsZMnT7ZYLDExMepA50wNvvjii35+fhMnTgwODm67HqPR2K9fv0WLFg0dOlTdQe2gwIBtyccuFJ0trkrJLJj81tEOjoEu2xi99egPHn7MYDQaDAaj0dR35ASjZy/99e8FhIz/4IzXq7vdF2g0jtiwb/CT/27o1q1d4CYKDg6OjY2Njo5WV32rVq1atmzZ0qVLf/e736ks1Xh0dPTIkSPbLm40Gvv06TN9+vQRI0aokQ4KDNyWNHvnZ/8oqjxfWv3CJ1//Yt+xR7b/d2B80nUKNBrv+9dXnE8gTXf38U8p7D1gUOsE06g3D/54/rIhKza4LfBHM5eMffeYR9/+XXtrgJtN9RMWFhYbG7t06dKhQ4cOGzbs4YcfDgkJCQoKuv/++729vUNDQ2NjY3/1q195tLmNYTQaPT09Z8yY4evrq4+YTCb314Fr3w7clvTMB3/Zc/rCW+lZ2WU1X+WWBL919LrHwN4D7xv//t/vHevm7Ff58fxlIzZ+aDAY2itwdMKfv//wY518T4BbrV+/fmPHjp07d254eLi6K6NER0evXLly2rRp48aN69vX9dNzo9Ho4eERHBwcEBCgx6k+yv/Zz37mOlkVGJ80KSElID55+4nzf7tc8cTe/+nMWeiPZj895p0vjO18yn/3fcMn/On8vWODDO0UeO/ogAd3nTR2eBMVkGQ0Gu+///5XXnklKipKvxpUD6KiolatWvX973/f7SeB48ePnz59eu/evZ1XZTKZQkJCXDehF/hWyozfp/6jqHLl4VMB25I7U+Do+D//eP6y9nZ92Atvjnx9/z0/HX3PT0ebV7815q20Pl4POp9wjoo7MDR0Y+ffDUDGT37yk7Vr1y5ZssTb2/uBBx4YM2bMsmXLXnrppT59+rSdbDQafXx8pk+f7unpesrX8TEwMCHFknx659ffBiWkfPfVYYGmu/v4J1++d0yA21c97u7rn1TgdzjP92CO78EcvyP5/skFvody9HNOY6/e/smXf7ygnYCB24fJZBo0aNDUqVPDwsLWrFkTGhoaGBg4YMAAt5OHDRv22GOP9evXr+2xsaM7MfFJAduSn/3oq8lvH+1kgb0H3u+ffPmeYaOuXZ2x96Ah3306bzLpX0Oee83nP5OMvXrr9zw9+//AP6XwRzOXdO29AKRMmjRJ/QbM2rVrR40a1XaC0WgcOHDg/Pnz+/TpY7yWmtDu54ERbwduSwpKSAmMT56k55eQ0vG90LvuM/sl5d89ZITzoOu90FZtrwN7/WCgf0rhD0MWdelNAMT06tUrJCQkKioqMDDQ7c3Pfv36zZ49e9CgQR4eHqY2PDw8PD093d4LfWjtO9/9Vtq1X4HxSYMfbfeDctNd9/T3m2q6+9ozYZNHf/+ppl69XSbfPWRE31F+zh/6GXv17u8/tdcPB3fjrQDE6B/uOTMajXfddVdISMisWbNmzJgxsx0zZsxwcx1oMg16ZN59M35x38zFLl/3z17Sd5ibTxoBuNH2uOeWmyX5fRQAAADAWT8AQgwGg8EMQAgFApIoEJBEgYAkCgQkUSAgiQIBSRQISKJAQBIFApIoEJBEgYAkCgQkUSAgiQIBSRQISKJAQBIFApK6U6CXl5d3O8xm8/79+/Pz8x955JEe3Eu1xeHDh7uMDx8+3Nvb28vLy+2O6eMdLOKyCbeLADdPdwrcvHlzhjsffvih2Ww+duyYw+FQ//5wT4mLi8vIyFi9erXL+C9/+cuMjIywsDD1NDY2Vt+Z06dPHz9+fPfu3bNnz3ZeZO7cuRkZGevXr3ce9PHxOXz4cEZGxrx583pwt4Hr6k6BBw4ccDgcJ0+eTL1WYmKi2WweO3as+mfBu71P69evT09PnzZtmj7y0UcfORyO3NzcsWPHOs9csWKFw+HYuHGjerp3716Hw3H69OnU1NTPP//81KlT5eXlDQ0N4eHhI0aMUHMWL17scDh27dqlr8TLy+u9997TNC0uLq7b+wx0T/cLXLBgwc3YIbPZvGfPHpvNNn/+fH1EFehwONLS0pxnui1wyZIl6qm3t7evr+/XX3/d3Ny8cuVKNdi2wKioqKampgMHDqizaOBW6vkCly9fHh0d/dBDD6mna9asef7558ePH79+/fqEhAR92owZMzZt2rRz586tW7cuXrxYDfr7+0dGRp48edJutycmJq5Zs0ZVoQo8e/asw+F49tln9ZV0XKASEhJis9nOnj2rnroU+Nxzz7W0tHz66ac+Pj5dfR+AG9fzBbpcB1ZWVhYWFn7yySdWqzUrK0sNLlu2zOFw1NXVlZWV1dbWtrS0vPnmm15eXrNmzbpy5YrVam1paamurr548eLo0aPNrQWuWrVK07Rz586NHDlSraczBeq7NHXqVPO1BU6ZMqW6urqoqCggIKCrbwLQI25Fgc3NzR9//PG8efMeffRRNZiVlWWz2RYuXDhu3LipU6eeOnXKarXOnTvX29vbz8/vgw8+sNlsv/71r319fdX9T1XgE0888cILL7S0tOzatUuNd7LAuLg4h8OxYsUKs1OBQUFBFy9ezMvLCw4O7uo7APSU7heYk5NzxsmBAwfU3Y62Bba0tLjcQamtra2pqdFP/JYsWZKYmKj32d514BNPPGE2m7/88svq6mp1h7OTBUZFRalDqLm1wMbGxrq6OofDERsb29VvH+hB3S8wJSXlj042bdqkrtncHgNd1nDkyJGWlpbjx48//fTTbe9/dFzgnDlz1DWhl5dXlwp86aWXzK0FfvXVV3FxcfX19ZcvX9ZvkwK33i06C3WZ4+fn98Ybb5w9e7alpaWmpiYtLe3pp5/WX+24QLPZ/MYbbzQ3N8fGxnaywHfffdfhcDzzzDNmp7PQ4cOHr169WtO0M2fOTJw4satvAtAjZArUBQYGbt68uaKiQl0HqsHrFjhhwoScnJyioiKLxXLdAkeMGJGTk6Np2rhx48xt7oUmJCQ4HI6PPvpIv7sD3EoCBT755JPHjx9//vnn9ZHIyEiHw7FmzRr1dPfu3R0XqFbS1NRUVVV13QKXL1/e3NyclJSknroUOHr06M8++6ylpeUPf/gDv5KGW0+gwMmTJ9fV1eXm5s6cOdPb23vChAkffPBBU1PTb37zGzXh7bffbmpqWrly5ZgxY9RI2wLNrb21LTA0NHTSpEnBwcEzZ86Mioq6evVqSUnJnDlz1Jy2n8j7+Ph88803Vqv1hRde6OpbAdwgmbPQ2NjYlpYWh8Oh//nNN9/ot0afffZZNV5cXKwG3RYYFBTU3NzctkBnzc3N586d00s2uyvQbDYHBwfX19c7HI6nnnqqq+8GcCO6U+DixYstFoufn5/bV5955hmLxaIuusxmc1hYWHh4uMscb2/vJ598cuPGjTt37ty2bdtvf/tb58swLy+vpUuXbt++PTY2Vt0pXbRokcVi8ff3d1mPGp85c6Z6+vjjj1tahYeHh4aGLliwYNSoUc6LTJw40WKxLFy40GVVc+bMsVgsFIhbjP8+EJBEgYAkCgQkUSAgiQIBSRQISKJAQBIFApIoEJBEgYAkCgQkUSAgiQIBSRQISKJAQBIFApIoEJBEgYAkg8Fg+BcAQgwGg+FLAEIMBoMhs1UWgJ6W2Q71ksFgMBQVFRUVFRUDuDmuXLmiP9Afq+gMBoOhsrKysrKyqqqqAkBPq3Ti8rSystJgMBiqAQgxGAyGurq6urq62traOgA9Tf1rme29ajAYDA0AhBgMBkMjACEGg8GgARBCgYAkCgQkUSAgiQIBSRQISKJAQBIFApIoEJBEgYAkCgQkdbnAxsbGtLS0yspKfaSuri41NbW9+VardfPmzefOndM0bc+ePRkZGZ3f1qVLl44dO+Y8kpqaeunSJU3TGhoaUlNTU1NT09LSMjIyampq9Dn5+flZWVn606KiorS0NKvV2vntArdMlwtsaGh4+eWX8/Ly9JGKiorw8PD25t9Igenp6eHh4dnZ2fpIeHh4enq6pmk1NTVRUVEnTpz461//+v77769bt+7MmTNqzokTJ44cOaIe19TUbN269cKFC135FoFb56YUWFdXpx9zOiiwvr6+vr6+g22lp6fHxMTEx8fbbDY14lzg5s2b9ZlXrlzZtGmTWpteYENDw+9///u0tDR9ceB208MFlpaW7tmzZ8eOHQkJCSkpKVar1W2B5eXle/fufffddxMTE/ft21deXu52W+np6fv379+3b19aWpoaaa9ATdMOHjz4xRdfaK0FNjY2pqSkHDhwoEvfHXCLdafA1atXnz9/vr5VSUmJXuD+/fuPHj1qs9msVmtERMTf//53twUmJSUdPHjQZrPZbLb33nuvvU5UgVVVVZGRkcXFxVqHBX766afbt2/XNO3EiRN79+49evTo5s2bGxsbu/yWALdQdwq0WCzvv/9+SqtDhw7pBa5fv/4vf/lLRkZGRkbGpk2bPv/8c7cFbty4sba2Vi1SVVUVFxfndluqQE3TTp06tXPnTpvN1nGB77zzjqZpJ06c2Lp164cffrhly5arV6926bsDbrEePgu1WCwff/zxoVZZWVluC3z55Zf1xRsbG1999VW329ILbGhoiI+PP3nyZAcFJicnq2Opfh24e/fugwcPchjE7ayHC3zzzTerqqqc57stcOvWrRUVFWpCUVFRQkKC223pBWqaVlJS8tprr7VXoM1mi4uLKykp0ZwKrK+v37Jli35fFLgN9XCBqampiYmJxcXFFRUV6enpZWVlbgv86quvEhIS1P8peOvWrV9++aWmaTk5OadPn3belnOBauXOBW7atKmwsLCwsPDs2bM7duw4fPiwmub8aURFRcWWLVv+9re/aZpWWlqamZnZtbcHuMm6U2BkZKT6WFyprKyMiIjQnx4/fnzdunURERF/+tOf1L3Qbdu2qY/I9+3bp2LQNO3UqVORkZGRkZFff/21GklJSdm5c6fz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" alt="" />

最终的项目图:

aaarticlea/png;base64,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" alt="" />

友情链接

具体的视频地址:  http://pan.baidu.com/s/1dEEO5Mh

android基础---->NDK的使用的更多相关文章

  1. Android之NDK开发(转)

    Android之NDK开发 一.NDK产生的背景 Android平台从诞生起,就已经支持C.C++开发.众所周知,Android的SDK基于Java实现,这意味着基于Android SDK进行开发的第 ...

  2. Android之NDK开发

    转自:http://www.cnblogs.com/devinzhang/archive/2012/02/29/2373729.html 一.NDK产生的背景 Android平台从诞生起,就已经支持C ...

  3. 【转】Android之NDK开发

    原文网址:http://www.cnblogs.com/devinzhang/archive/2012/02/29/2373729.html 一.NDK产生的背景 Android平台从诞生起,就已经支 ...

  4. 【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)

    原文网址:http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html android 最新 NDK r8 在w ...

  5. 【Xamarin开发 Android 系列 4】 Android 基础知识

    原文:[Xamarin开发 Android 系列 4] Android 基础知识 什么是Android? Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Li ...

  6. android的JNI标准 android的NDK

    转载的! Java Native Interface (JNI)标准是java平台的一部分,它允许Java代码和其他语言写的代码进行交互.JNI 是本地编程接口,它使得在 Java 虚拟机 (VM) ...

  7. android基础---->IntentService的使用

    这一篇博客,我们开始前台服务与IntentServie源码分析的学习,关于service的生命周期及其简单使用,请参见我的博客:(android基础---->service的生命周期) 目录导航 ...

  8. android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)

      android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创) 一直想搞NDK开发却一直给其他事情耽搁了,参考了些网上的资料今天终于把 ...

  9. Android之NDK开发(转载)

    http://www.cnblogs.com/devinzhang/archive/2012/02/29/2373729.html 一.NDK产生的背景 Android平台从诞生起,就已经支持C.C+ ...

随机推荐

  1. WPF ListBoxItem DataTempldate command 执行问题

    今天用到MVVM,在listboxItem中做command处理.因为是要获取数据,修改ListBox模板,但是发现command无法正确执行,写在Item中可以正确执行. 网上也遇到类似问题,但是没 ...

  2. 关于最新的Vuforia-unity3d-samples2-8-13

    今天用了一下最新的Vuforia for unity3d的样例2-813版本号.导入我的unity3d之后.发现ARCamera的检视面板下非常多熟悉的元素都不见了,根本没法改动标志,如图所看到的. ...

  3. parted创建LVM

    parted创建LVM 把一块1T硬盘全部设为LVM #parted /dev/sdb >mklabel gpt 由于MBR分区表只支持2T硬盘,所以如果大于2T必须用GPT分区表 >pr ...

  4. iOS边练边学--UITabBarController的简单使用

    一.UITabBarController的使用步骤 初始化UITabBarController 设置UIWindow的rootViewController为UITabBarController 根据具 ...

  5. java-JSP脚本的9个内置对象

    http://blog.csdn.net/titilover/article/details/6800782 http://www.importnew.com/19128.html http://ww ...

  6. 记一次坑爹的golang 二维map判断问题

    记一次坑爹的golang 二维map判断问题 2018年10月18日 23:16:21 yinnnnnnn 阅读数:32更多 个人分类: golang   版权声明:本文为博主原创文章,未经博主允许不 ...

  7. RTMP规范 消息与消息块

    Real Time Messaging Protocol(实时消息传输协议) 应用层协议 RTMP协议中, 基本数据单元称为消息(Message).当RTMP协议在互联网中传输数据的时候,消息会被拆分 ...

  8. DataTables 固定列时实现 hover

    之前说过 DataTables 表格固定栏使用方法 .分析下它的代码,如下图 它实现固定左侧的原理就是把需要固定的数据复制一份,覆盖在全部数据的上面,用绝对定位固定在左边. 这样子有个问题就是,表格的 ...

  9. C++对析构函数的误解

    C++析构前言 析构函数在什么时候会自动被调用,在什么时候需要手动来调用,真不好意思说偶学过C++…今日特此拨乱反正. C++析构误解正文 对象在构造的时候系统会分配内存资源,对一些数据成员进行初始化 ...

  10. python读写word文档

    读: from docx import Document dir_docx = 'F:\Eclipse\workspace\Spider\cnblogs_doc\mytest - 副本.docx' d ...