ndk 不用java_使用NDK创建及配置C++程序(原生纯C++项目,不包含JAVA代码)
写在前面,这篇文章是在上一篇博客:《Eclipse下搭建Android开发环境(使用NDK开发C/C++程序,无需安装Cygwin)》的基础上进行撰写的,如本篇文章有不明的地方,请去观摩一下我的上一篇文字。链接:http://www.cnblogs.com/xiaomiao/archive/2012/02/20/2360308.html
————————————————————分割线——————————————————————
1. 首先,搭建好Android试验平台(参考文档:《Eclipse下搭建Android开发环境(使用NDK开发C/C++程序,无需安装Cygwin)》)
2. 如图一所描述,首先创建一个Android项目(参考文档:Android.NDK.Beginner's.Guide,作者:Sylvain Ratabouil,我再发个链接吧
注: 1. 项目名称及包名可自行命名,值得注意的是在接下来的AndroidManifest.xml 中将相应的名称改为对应的。
2. 不要勾选Create Activity.
3. 关于Android平台版本和Min SDK Version,只要对应就好。
(图一)
3. 修改AndroidMainfest.xml文件的内容为一下内容。唯一需要注意的就是标签中,value的值要和Android.mk 中的LOCAL_MODULE名称一致。
AndroidMainfest.xml的内容如下:
package="com.packtpub.droidblaster"
android:versionCode="1"
android:versionName="1.0">
android:label="@string/app_name">
android:label="@string/app_name">
android:value="droidblaster"/>
4. 使用Eclipse将生成的项目转换为C++项目,如图二所示:
(图二)
5. 新建并配置一个Builder,使项目能够自动编译C/C++代码。(参考文档:上一篇博客中的5.5小节,创建过程在该文档中已有详细说明)
6. 在项目上点击右键,Properties-> C/C++ General-> Path and Symbols,找到Includes那一栏,
添加三个环境变量,如图三所示。
(图三)
注:此处三个变量分别指向:
${env_var:ANDROID_NDK}/platforms/android-9/arch-arm/usr/include;
${env_var:ANDROID_NDK}/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/lib/gcc/arm-linux-androideabi/4.4.3/include;
${env_var:ANDROID_NDK}/sources/android/native_app_glue;
ANDROID_NDK为系统环境变量,代表NDK的安装目录。
7. 在项目的目录下面建立文件夹jni,在jni中建立文件Android.mk,Android.mk的内容为:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE :=droidblaster
LOCAL_SRC_FILES := Main.cpp EventLoop.cpp Log.cpp
LOCAL_LDLIBS := -landroid -llog
LOCAL_STATIC_LIBRARIES := android_native_app_glue
include $(BUILD_SHARED_LIBRARY)
$(call import-module,android/native_app_glue)
注:标注为红色字体的语句需要根据具体项目情况来具体填写。
8. 把预先准备好的.cpp及.hpp文档放入到jni文件中。(参考文档:Android.NDK.Beginner's.Guide 的150 – 153页,由于篇幅有限,我就不贴那些代码了)
9. 编译运行,ok!
————————————————————————分割线———————————————————————
写在后面,这篇文字写得并不是非常的详细,至少没有上一篇详细。但是我觉得我已经把重要的需要注意的情况已经列举了出来,应该是足够了。
有人也许会觉得我的这个排版有一些问题,因为我一般都是在word上面写好文档(毕竟这个才是重要的),然后才会将其复制出来,粘贴在这里,略作修改之后发表出来。
最后,依旧是那句话,欢迎交流,欢迎转载,要热爱讨论,接受批评,ok!
ndk 不用java_使用NDK创建及配置C++程序(原生纯C++项目,不包含JAVA代码)相关推荐
- ASP.NET Core 配置 - 创建自定义配置提供程序
ASP.NET Core 配置 - 创建自定义配置提供程序 在本文中,我们将创建一个自定义配置提供程序,从数据库读取我们的配置.我们已经了解了默认配置提供程序的工作方式,现在我们将实现我们自己的自定义 ...
- Intellij Idea创建maven项目,App.java代码编辑区没有run选项
- 【微信小程序】创建自己的小程序
文章目录 1.关于小程序 2.环境的搭建 2.1 Python环境 2.2 小程序环境 2.2.1 申请一个微信公众平台 2.2.2 保存自己的appid 2.2.3 下载开发者工具 2.2.4 创建 ...
- 扒一扒.NET Core的环境配置提供程序
前言 很久之前,在玩Docker的时候顺便扒了扒,最近,终于下定决心花了些时间整理并成文,希望能够给大家一些帮助. 目录 .NET Core中的配置 ASP.NET Core中的配置 扒一扒环境变量提 ...
- 应用程序初次运行数据库配置小程序(Java版)
应用程序初始化数据库配置小程序 之前写过一个Java版的信息管理系统,但部署系统的时候还需要手动的去配置数据库和导入一些初始化的数据才能让系统运行起来,所以我在想是不是可以写一个小程序在系统初次运行的 ...
- Android NDK 概述(Android NDK Overview)
Android NDK 功能概述 Android NDK就是一套用于把C/C++源码编译得到的二进制机器码嵌入应用安装包的工具. Android NDK是对Android SDK的一个补充,可以帮助你 ...
- android 设置功能,NDK 使用入门 | Android NDK | Android Developers
原生开发套件 (NDK) 是一套工具,使您能够在 Android 应用中使用 C 和 C++ 代码,并提供众多平台库,您可使用这些平台库管理原生 Activity 和访问实体设备组件,例如传感器和触摸 ...
- 安卓jni(ndk)开发实战(2)开发jni第一个HellowWorld程序
一.前言 本文将创建一个 HelloWorld 程序,程序功能很简单,就是一个 jni 方法返回"HelloWorld "字符串,然后界面展示. jni 中涉及动态注册和静态注册, ...
- android ndk: aborting . stop,Android NDK:Aborting..Stop的处理方法
在eclipse中配置cocos2d-x的android环境时,遇到这样的错误提示 网上搜索了一下,说是在NDK_MODULE_PATH环境变量下未找到所需要的Android.mk文件,后来仔细研究了 ...
最新文章
- pandas基于dataframe特定数据列的指定阈值将原dataframe分割成两个dataframe(split dataframe based on column value threshold
- 爬虫自动登陆GitHub
- 【约束布局】ConstraintLayout 之 Chains 链式约束 ( Chains 简介 | 代码 及 布局分析 | 链头设置 | 间距设置 | 风格设置 | 权重设置 )
- 办公室网络打印机的连接
- 机器学习:论相关(一)
- 无效0_一场时代的变革,一场与时间的较量,“0”无效载体、“0”空气氧化、“0”细菌生存。...
- 邓白氏编码查询_外贸人常用查询工具汇总
- selenium + plantomjs 实现自动化测试01
- 阿里巴巴张勇:创造风口而不是追逐
- C语言 makefile
- 四元数-Quaterion
- ios- 自定义cell总结
- HttpClient下载图片不完整的解决办法
- Go语言内存对齐详解
- VC6.0和VC2012的全局对象的释放!!!
- 东北旅行第一天流水账
- win10msdn我告诉你哪个版本好
- 2017-11-20 白银解说
- titan rtx怎么样
- dz论坛ucenter打不开mysql,Discuz! X3搬家后UCenter出现UCenter info: MySQL Query Error解决方案...
热门文章
- HarmonyOS技术特性
- 什么是OpenMAX技术分析OpenMAX
- Battery electric vehicles (BEVs) 快充技术
- Docker_Swarm集群系统
- 二分查找模板全面总结
- 兑换量子计算机,阅读 | 【量子计算机】构造置换量子门
- 经纬度绘图_【知识科普】地形图图例汇总,测绘人识图绘图必备(含dwg版下载)...
- Android 动画的插值器 (Interpolator属性)
- debug.keystore not found for signing config 'debug'.
- HBuilder简单入门