ubuntu ndk 开发
参考 https://developer.android.com/ndk/index.html
配置
下载android-ndk-r10d-linux-x86_64.bin ,运行自解压。
~/.bashrc中加入
export ANDROID_NDK=/home/james/android/android-ndk-r10d
export PATH=$ANDROID_NDK:$PATH
配置eclipse
Window > Preferences> android
选择NDK. 路径
https://developer.android.com/ndk/guides/setup.html
测试编译是否成功
命令行:
cd android-ndk-r10d/samples/hello-jni && ndk-build
或是
ndk-build -C android/android-ndk-r10d/samples/hello-jni
eclipse中:
import_> android –> existing android code into workspace 才可以。
builder添加 newbuiler,参照下文 《Eclipse自动编译NDK/JNI的三种方法》 中的第二种方法
自己编写:
参考learning android 第15章 ndk开发
和书中不同,要cd到 bin/classes目录中,执行
javah -jni com.marakana.FibLib
创建相应的JNI头文件
两种注册jni的方法:静态注册(java代码生成class,javah生成头文件)、动态注册(JNINativeMethod, JNI_OnLoad注册)
深入学习参考: 《深入理解android 卷一》第2章 深入理解jni
【Android】Eclipse自动编译NDK/JNI的三种方法
SkySeraph Sep. 18th 2014
Email:skyseraph00@163.com
一、Eclipse关联cygwin
1. 工程->右击选择Properties->选择Builders,在Builders中选择New创建一个Program

2. 参数配置

二、Eclipse关联ndk-build(自建Builder方法)
1. Project->Properties->Builders->New,新建一个Builder

2. 参数配置
2.1 Main
①Name:NDK_Builder
②Location为ndk-build.cmd的路径,可以如图所示绝对路径,也可以以环境变量的形式,即 ${ANDROID_NDK}\ndk-build.cmd,其中ANDROID_NDK为配置的NDK路径
③Working Directory,为当前的工程下。
这里的${}的表达是使用了EC的环境变量,可以使用Variables...按钮找到一些3 EC的环境变量。
对于Linux上的配置,和这里的配置一样,只是把Location的地址改为ndk-build即可

2.2 Refresh

2.3 Build Options


注:Linux环境下只需修改ndk-build.cmd为ndk-build即可
三、Eclipse关联ndk-build(利用CDT的方法)
1. 前期准备:Eclipse环境+Android环境+Eclipse C/C++环境
2. 编写Android JAVA/JNI代码,可参考OpenCV实例1
3. 将Android项目转换为C/C++项目(使其具备C++属性),如下图,New -> Other -> C/C++ -> Convert to a C/C++ Project.

4. 配置NDK编译路径,Project->Properties,如下图,其中Build-Command中ANDROID_NDK为环境变量中配置的Android-NDK路径;Build-Directory为当前工程目录


5. 配置工程属性,Project->Properties,如下图,本例以OpenCV为例,其中CNU C和GNU C++中配置的是OpenCV的链接库

========
ubuntu ndk 开发的更多相关文章
- Android之NDK开发(转)
Android之NDK开发 一.NDK产生的背景 Android平台从诞生起,就已经支持C.C++开发.众所周知,Android的SDK基于Java实现,这意味着基于Android SDK进行开发的第 ...
- Android之NDK开发
转自:http://www.cnblogs.com/devinzhang/archive/2012/02/29/2373729.html 一.NDK产生的背景 Android平台从诞生起,就已经支持C ...
- ndk开发教程以及问题解决方案
一.NDK产生的背景 Android平台从诞生起,就已经支持C.C++开发.众所周知,Android的SDK基于Java实现,这意味着基于Android SDK进行开发的第三方应用都必须使用Java语 ...
- 【转】Android之NDK开发
原文网址:http://www.cnblogs.com/devinzhang/archive/2012/02/29/2373729.html 一.NDK产生的背景 Android平台从诞生起,就已经支 ...
- 在Android studio中进行NDK开发
在Android studio中进行NDK开发 分类: Android平台 软硬件环境 ubuntu kylin 14.04 红米note增强版 Android studio 0.8.6 ndk ...
- Android流媒体开发之路二:NDK开发Android端RTMP直播推流程序
NDK开发Android端RTMP直播推流程序 经过一番折腾,成功把RTMP直播推流代码,通过NDK交叉编译的方式,移植到了Android下,从而实现了Android端采集摄像头和麦克缝数据,然后进行 ...
- 跟我学Android NDK开发(一)
Android NDK 开发跟其它开发一样,首先需要配置好开发环境,本文以 Ubuntu系统为例介绍如何进行 Android NDK 开发环境的配置. 1. 简介 什么是 Android NDK 呢? ...
- Android JNI和NDK学习(01)--搭建NDK开发环境(转)
本文转自:http://www.cnblogs.com/skywang12345/archive/2013/05/23/3095013.html 本文主要介绍“JNI”.“Android NDK”以及 ...
- Android之NDK开发(转载)
http://www.cnblogs.com/devinzhang/archive/2012/02/29/2373729.html 一.NDK产生的背景 Android平台从诞生起,就已经支持C.C+ ...
随机推荐
- Mesos 入门教程
Mesos提供了高效.跨分布式应用程序和框架的资源隔离和共享,支持Hadoop. MPI.Hypertable.Spark等. Mesos是Apache孵化器中的一个开源项目,使用ZooKeeper实 ...
- webstorm批量查找,批量替换快捷键
ctrl+shift+f:批量查找,我的webstorm11不能用ctrl+shift+f进行批量查找了,不知道什么原因,自己又胡乱实验了一下, 发现ctrl+shift+g+f可以批量查找 ctrl ...
- git push 问题汇总
Q:git push时卡死 这个问题找的快要放弃的时候... A: git config --global http.postBuffer [via] Q:git push 报错 Counting o ...
- Four Ways to Create a Thread
Blaise Pascal Magazine Rerun #5: Four Ways to Create a Thread This article was originally written ...
- MySQL性能优化(九)-- 主从复制
一.概念 Mysql复制(replication)是一个异步的复制,从一个Mysql 实例(Master)复制到另一个Mysql 实例(Slave).实现整个主从复制,需要由Master服务器上的IO ...
- MQTT-C-PUB
/* ============================================================================ Name : mqtest ...
- 在MVC中实现和网站不同服务器的批量文件下载以及NPOI下载数据到Excel的简单学习
嘿嘿,我来啦,最近忙啦几天,使用MVC把应该实现的一些功能实现了,说起来做项目,实属感觉蛮好的,即可以学习新的东西,又可以增加自己之前知道的知识的巩固,不得不说是双丰收啊,其实这周来就开始面对下载在挣 ...
- gcc的选项
-g: 是一个编译选项,即在源代码编译的过程中起作用,让gcc把更多调试信息(也就包括符号信息)收集起来并将存放到最终的可执行文件内. -rdynamic: 却是一个 连接选项 ,它将指示连接器把 ...
- Linux账号和密码文件 /etc/passwd和/etc/shadow
Linux系统中,所有用户(包括系统管理员)的账号和密码都可以在/etc/passwd和/etc/shadow这两个文件中找到,(用户和密码就放在文件中,不怕被其他人看的或者修改吗?/etc/pass ...
- 题目1091:棋盘游戏(DFS)
题目链接:http://ac.jobdu.com/problem.php?pid=1091 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: ...