在網路看到有人有NDK寫一個可執行的程式,感覺很有趣,馬上就來實驗看看
我們以NDK下面的hello-jni當範例
1.修改hello-jni.c
$(NDK)\apps\hello-jni\project\jni\hello-jni.c
將下面這段程式碼加在原程式碼的下面
#include "stdio.h"
int main()
{
printf("hello world!")
return 0;
}
2.修改Android.mk
$(NDK)\apps\hello-jni\project\jni\Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := hello-jni
LOCAL_SRC_FILES := hello-jni.c
#include $(BUILD_SHARED_LIBRARY)
include $(BUILD_EXECUTABLE) //加入此行,指出此為一個可執行檔
//修改好後,馬上進行編譯
$ make APP=hello-jni
Android NDK: Building for application 'hello-jni'
Compile thumb : hello-jni <= apps/hello-jni/project/jni/hello-jni.c
apps/hello-jni/project/jni/hello-jni.c:37:2: warning: no newline at end of file
Executable : hello-jni
Install : hello-jni => apps/hello-jni/project/libs/armeabi
//編譯OK,看看我門生出啥東西來
Administrator@mychat-53bb70c5 /cygdrive/d/android-ndk-1.6_r1/apps/hello-jni/project/libs/armeabi
$ dir
hello-jni libhello-jni.so
//開啟模擬器
D:\android-sdk-windows\tools>android list avd
Available Android Virtual Devices:
Name: adv_Android1.6
Path: C:\Documents and Settings\Administrator\.android\avd\adv_Android1.6.avd
Target: Android 1.6 (API level 4)
Skin: HVGA
---------
Name: Android1.6
Path: C:\Documents and Settings\Administrator\.android\avd\Android1.6.avd
Target: Android 1.6 (API level 4)
Skin: HVGA
D:\android-sdk-windows\tools>emulator @adv_Android1.6
//使用adb Shell將我們生成的可執行檔丟到模擬器上
D:\android-ndk-1.6_r1\apps\hello-jni\project\libs\armeabi>adb push hello-jni /data/hello-jni
205 KB/s (0 bytes in 3284.000s)
//利用adb 的shell命令進入模擬器的Shell
D:\android-ndk-1.6_r1\apps\hello-jni\project\libs\armeabi>adb shell
# cd /data
cd /data
# ls -l
ls -l
-rw-rw-rw- root root 3284 2010-07-08 09:45 hello-jni
-rwxrwxrwx root root 3282 2010-07-08 09:13 HelloWorld
drwxrwx--x system system 2009-11-24 22:06 app
drwxrwx--t system misc 2010-06-25 06:34 misc
drwxrwx--x shell shell 2010-06-25 06:34 local
drwxrwx--x system system 2010-06-25 06:34 data
drwxrwx--x system system 2010-06-25 06:34 app-private
# chmod 777 hello-jni
chmod 777 hello-jni
# ./hello-jni
./hello-jni
Hello World!
分享到:
相关推荐
该资源包含了一个ndk实现的helloworld,简单易懂。
Android NDK 安装以及 HelloWorld!测试
开发android多年,近日处于兴趣,研究了一下NDK的东西,以下是一个简单的DEMO,希望对初学者能有一些帮助。
本代码主要是一个android调用ndk的小demo,包含c程序的头文件和源文件,以及编译的so文件。
本文不是“Hello world!” - NDK的类型教程。虽然我仍然会快速介绍ndk-build的基本知识,但它不是本文的重点。相反,我将总结一些非常有用的NDK技术和我在项目中使用的技巧。希望这些提示对于想要构建一些实用项目...
Eclipse NDK 开发之 HelloWorld。 详细说明,见相关博客。
android下的ndk教程之helloworld,详细的教程参考http://blog.csdn.net/ownwell/article/details/8137376
NKD开发入门例子:一个简单的NDK HelloWorld的例子.
Android_JNI_Helloworld Android Studio的安装项目以使用NDK 创建一个Android项目 添加ndk目录: ndk.dir = / pathTo / Android / ndk 使用Android Studio模板添加JNI文件夹 右键单击项目名称(应用程序)->新建->...
你好NDK 这是一个简单的 Android NDK hello world 应用程序。
在网上找的NDK资料 以及利用Android NDK编写一个简单的HelloWorld的图文教材
android ndk 代码例子,从 HelloWorld 到java 和c 方法互相调用,学习jni的时候写的demo,例子还是很有代表性的
使用eclipse的ndk hello world
Hello-jni源代码,可以直接导入Eclipse运行。 工程/lib文件夹下由编译好的libhello-jni.so文件
用NDK开发一个helloworld的小例子
android jni helloworld DEMO
AndroidStudio下的NDK,HelloWorld的Demo,Android Studio的版本为1.5
一个简单的例子,用于Android ndk的Hello world代码,供大家免费下载使用。
编译好的Android JNI HelloWorld,测试开发环境是否搭建成功
带 Gradle 的 Android NDK