android sdk和ndk开发环境搭建

JNI的简单使用(Eclipse) JNI的基本使用 阅读详情

环境搭建分两步第一步是大家android的开发环境,第二不是搭建ndk开发环境。

        android开发环境搭建

        从google官网上下载sdk和工具包http://developer.android.com/sdk/index.html官网下载截图:

点击“Download ths SDK ”下载 ,下载后解压


这里包括了sdk工具和eclipse ide环境,不需要单独下载eclipse了,包括有

  • Eclipse + ADT plugin
  • Android SDK Tools
  • Android Platform-tools
  • The latest Android platform
  • The latest Android system image for the emulator


打开eclipse,选择“winsows->Android SDK Manage"菜单下载对应版本的sdk

一般都下载最新的版本(具体看需要)。

DNK开发环境搭建

2、下载安装Android NDK

我使用的NDK版本为r5

Google 出的最新NDK 为 r6 下载地址为

http://developer.android.com/sdk/ndk/index.html

3、下载安装cygwin

由于NDK编译代码时必须要用到make和gcc,所以你必须先搭建一个linux环境, cygwin是一个在windows平台上运行的unix模拟环境,它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,非常有用。通过它,你就可以在不安装linux的情况下使用NDK来编译C、C++代码了。下面我们一步一步的安装cygwin吧。

(安装的时候忘记截图了)

首先,你得先跑到http://www.cygwin.com下载setup.exe

1、 然后双击运行吧,运行后你将看到安装向导界面:

2、 点击下一步

此时让你选择安装方式:

1)Install from Internet:直接从Internet上下载并立即安装(安装完成后,下载好的安装文件并不会被删除,而是仍然被保留,以便下次再安装)。

2)Download Without Installing:只是将安装文件下载到本地,但暂时不安装。

3)Install from Local Directory:不下载安装文件,直接从本地某个含有安装文件的目录进行安装。

3、选择第一项,然后点击下一步:

4、选择要安装的目录,注意,最好不要放到有中文和空格的目录里,似乎会造成安装出问题,其它选项不用变,之后点下一步:

5、上一步是选择安装cygwin的目录,这个是选择你下载的安装包所在的目录,默认是你运行setup.exe的目录,直接点下一步就可以:

6、此时你共有三种连接方式选择:

1) Direct Connection:直接连接。

2) Use IE5 Settings:使用IE的连接参数设置进行连接。

3) Use HTTP/FTP Proxy:使用HTTP或FTP代理服务器进行连接(需要输入服务器地址、端口号)。

用户可根据自己的网络连接的实情情况进行选择,一般正常情况下,均选择第一种,也就是直接连接方式。然后再点击“下一步”,

7、 这是选择要下载的站点,我用的是http://mirrors.kernel.org,速度感觉还挺快,选择后点下一步

8、 此时会下载加载安装包列表

9、Search是可以输入你要下载的包的名称,能够快速筛选出你要下载的包。那四个单选按钮是选择下边树的样式,默认就行,不用动。View默认是Category,建议改成full显示全部包再查,省的一些包被隐藏掉。左下角那个复选框是是否隐藏过期包,默认打钩,不用管它就行,下边开始下载我们要安装的包吧,为了避免全部下载,这里列出了后面开发NDK用得着的包:autoconf2.1、automake1.10、binutils、gcc-core、gcc- g++、gcc4-core、gcc4-g++、gdb、pcre、pcre-devel、gawk、make共12个包

10、 然后开始选择安装这些包吧,点skip,把它变成数字版本格式,要确保Bin项变成叉号,而Src项是源码,这个就没必要选了。

11、 下面测试一下cygwin是不是已经安装好了。

运行cygwin,在弹出的命令行窗口输入:cygcheck -c cygwin命令,会打印出当前cygwin的版本和运行状态,如果status是ok的话,则cygwin运行正常。

然后依次输入gcc –version,g++ --version,make –version,gdb –version进行测试,如果都打印出版本信息和一些描述信息,非常高兴的告诉你,你的cygwin安装完成了!

4、配置NDK环境变量

1、 首先找到cygwin的安装目录,找到一个home\<你的用户名>\.bash_profile文件,我的是:E:\cygwin\home\Administrator\.bash_profile,(注意:我安装的时候我的home文件夹下面神马都没有,解决 的办法:首先打开环境变量,把里面的用户变量中的HOME变量删掉,在E:\cygwin\home文件夹下建立名为Administrator的文件夹(是用户名),然后把E:\cygwin\etc\skel\.bash_profile拷贝到该文件夹下)。

2、 打开bash_profile文件,添加NDK=/cygdrive/<你的盘符>/<android ndk 目录>例如:NDK=/cygdrive/e/android-ndk-r5

export NDK

NDK这个名字是随便取的,为了方面以后使用方便,选个简短的名字,然后保存

3、打开cygwin,输入cd $NDK,如果输出上面配置的/cygdrive/e/android-ndk-r5信息,则表明环境变量设置成功了。

5、用NDK来编译程序

1、 现在我们用安装好的NDK来编译一个简单的程序吧,我们选择ndk自带的例子hello-jni,我的位于E:\android-ndk-r5\samples\hello-jni(根据你具体的安装位置而定),

2、 运行cygwin,输入命令cd /cygdrive/e/android-ndk-r5/samples/hello-jni,进入到E:\android-ndk-r5\samples\hello-jni目录。

3、 输入$NDK/ndk-build,执行成功后,它会自动生成一个libs目录,把编译生成的.so文件放在里面。($NDK是调用我们之前配置好的环境变量,ndk-build是调用ndk的编译程序)

4、 此时去hello-jni的libs目录下看有没有生成的.so文件,如果有,你的ndk就运行正常啦!

6、在eclipse中集成c/c++开发环境

1、 装Eclipse的C/C++环境插件:CDT,这里选择在线安装。

首先登录http://www.eclipse.org/cdt/downloads.php,找到对应你Eclipse版本的CDT插件的在线安装地址。

2、 然后点Help菜单,找到Install New Software菜单

3、 点击Add按钮,把取的地址填进去,出来插件列表后,选Select All,然后选择下一步即可完成安装

4、 安装完成后,在eclispe中右击新建一个项目,如果出现了c/c++项目,则表明你的CDT插件安装成功啦!

7、配置C/C++的编译器

1、 打开eclipse,导入ndk自带的hello-jni例子,右键单击项目名称,点击Properties,弹出配置界面,之后再点击Builders,弹出项目的编译工具列表,之后点击New,新添加一个编译器,点击后出现添加界面,选择Program,点 击OK

2、出现了添加界面,首先给编译配置起个名字,如:C_Builder

设置Location为<你cygwin安装路径>\bin\bash.exe程序,例如:E:\cygwin\bin\bash.exe,设置WorkingDirectory为<你cygwin安装路径>\bin目录,例如:E:\cygwin\bin

设置Arguments为

--login -c "cd /cygdrive/I/JavaWorkSpace/Blog/NDK_02&& $NDK/ndk-build"

上面的配置中 /cygdrive/I/JavaWorkSpace/Blog/NDK_02是你当前要编译的程序的目录,$NDK是之前配置 的ndk的环境变量,这两个根据你具体的安装目录进行配置,其他的不用变,Arguments这串参数实际是 给bash.exe命令行程序传参数,进入要编译的程序目录,然后运行ndk-build编译程序

3、接着切换到Refresh选项卡,给Refresh resources upon completion打上钩

4、然后切换到Build Options选项卡,勾选上最后三项

5、之后点击Specify Resources按钮,选择资源目录,勾选你的项目目录即可

6、 最后点击Finish,点击OK一路把刚才的配置都保存下来,注意:如果你配置的编译器在其它编译器下边,记得一定要点Up按钮,把它排到第一位,否则C代码的编译晚于Java代码的编译,会造成你的C代码要编译两次才能看到最新的修改

7、 这一路下来肯定很累了吧,现在再次恭喜你,编译配置也配置完成啦,现在来测试一下是否可以自动编译呢,打开项目jni目录里的hello-jni.c文件把提示Hello from JNI!改成其他的文字:如:Hello,My name is alex.,然后再模拟器中运行你的程序,如果模拟器中显示了你最新修改的文字,那么Congratulations!你已经全部配置成功啦!



eclipse JNI 开发总结 经过将近两天的努力终于在eclipse上实现了JNI编程,这里记录一下!!!! 1、JNI开发的组成 两部分一是java或android部分(函数方法的声明),二是so或者dll的实现部分(函数方法的具体实现) 2、javah 生成.h头文件 将 javac 将java转换成class,然后利用javah命令生成 so 或者 dll调用的 .h头文件 这里容易出错的是生成.h头文件会出现找不到类文件的错误,参见上一篇文章解决文章地址 就是使用 javah -classpath 指定src的目录,多了这么一步 阅读详情

相关推荐

Unity安卓开发环境搭建:手动配置SDK/NDK与镜像源解决模块下载失败

在移动应用开发中,Android SDK和NDK是构建安卓应用的核心工具链,它们提供了编译、调试和打包所需的底层库与命令行工具。其工作原理在于为Unity等游戏引擎或开发框架提供与安卓系统API交互的桥梁,并通过Gradle等构建系统管理依赖。对于国内开发者而言,直接访问Google官方服务器下载这些组件常因网络限制导致失败,严重影响开发效率。此时,技术价值体现在通过使用国内镜像源手动配置环境,能确保开发工具链的完整与稳定。这一实践在Unity引擎的安卓平台发布、跨平台游戏开发及持续集成流水线等场景中尤为重

weixin_34025151的博客 327

eclipse搭建JNI开发环境

前言 第一次知道Java和C语言可以进行混合编程还是在学校时,当时翻阅一本叫做Java核心技术的书,简单的看了一眼。多次尝试在eclipse下搭建开发环境,均已失败而告终,因此对JNI的研究便作罢 。 直至工作中,做的是android软件开发的工作,公司的主要业务是给银行做手机银行软件,比较注重安全问题,因此将一些加密算法的实现封装在so文件中,由此再次激发本宝宝的好奇心,这个so文件到底是个...

flueky的专栏 2951

【Andriod】SDK下载安装及环境配置完整教程

由于 Android Studio 的安装包过大,而使用 adb命令 的时候实际上只需要用到 SDK 工具而已。所以推荐大家去另外一个国内的 Android 工具的下载网站 androiddevtools 下载。 进入页面后点击【Android SDK 工具】按钮,然后在弹出的选择框内点击【SDK Tools】按钮,然后界面会自动跳转到SDK 的下载界面,选择适合自己的版本进行下载

墩墩分墩 3万+

Android SDK安装教程(超详细),从零基础入门到实战,从看这篇开始

Android SDK安装教程(超详细),从零基础入门到实战,从看这篇开始

大模型教程的博客 6万+

2、搭建 Android 开发环境指南

本文详细介绍了在Windows和OS X系统上搭建Android开发环境的完整步骤,涵盖JDK、Android SDK、NDK、Ant等工具的安装与配置,以及环境变量设置和常见问题解决方案。通过流程图和表格对比,帮助开发者快速构建可用的Android开发平台,为后续应用开发打下坚实基础。

ol78901234的博客 80

Delphi 121安卓开发环境配置指南:SDK、NDK与JDK的完整搭建与排坑

在跨平台应用开发中,Delphi凭借高效的编译能力,成为众多开发者构建安卓应用的选择。然而,要让Delphi代码顺利生成APK,仅安装IDE远远不够,还需完整配置Android SDK、NDK和JDK,它们分别负责系统API、原生库编译与打包签名。三者版本匹配不当,往往会导致SDK缺失、NDK版本不兼容、class file major version等编译报错。掌握正确的环境搭建流程,能大幅缩短从开发到真机部署的周期。无论你是初涉Delphi 121的新手,还是正在排查平台SDK问题的老手,理解Platf

weixin_33824385的博客 240

安卓开发环境搭建JDK + SDK Manager + NDK + Android Studio

第一次接触安卓开发,配置环境就折腾了一晚上。在此分享安装与配置过程,希望可以帮助更多入门开发者。 一、JDK JDK(Java Development Kit) 是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。 1. 下载 : 官网下载地址 如图(红圈处注意,这里我选择的是8u191,64位,wi...

chengxunyang的博客 4445

Delphi 安卓开发环境搭建全攻略:SDK/NDK/JDK 配置与踩坑实录

跨平台移动开发中,工具链的配置往往是比业务逻辑更棘手的工程挑战。Delphi 作为原生编译型开发环境,其安卓支持依赖 Google 提供的完整 SDK 工具链,包括 JDK、Android SDK 与 NDK 的版本协同。本文从环境搭建的本质原理出发,解析为何缺少 PlatformSDKs 会导致编译链断裂,并系统梳理从 JDK 环境变量配置、sdkmanager 命令行工具使用,到 Delphi IDE 内 SDK Manager 路径绑定的完整流程。内容覆盖版本选型(如 JDK 17、API 34、ND

weixin_29178069的博客 303

Mac OS X下搭建Android开发环境(包括SDK和NDK)

z源准备:  JDK Eclipse Android SDK Android NDK ADT CDT ANT 搭建Android SDK开发环境: 1.JDK安装,要求版本>1.5, Mac OS中已经预装了JDK,通过java -version在命令行中查看当前版本。但建议使用最新版本,在http://www.oracle.com/technetwork/jav

yky138495的专栏 530

掌握Android SDK与NDK:完整开发环境搭建指南

本文还有配套的精品资源,点击获取 简介:Android SDK和NDK是开发Android应用不可或缺的工具,它们对构建原生代码和本地库至关重要。本文将详细探讨如何利用这些组件进行高效开发。SDK和NDK包括了从Android Studio到ADB等关键工具,为开发者提供了从应用构建到性能优化的全面支持。同时,介绍了如何使用NDK进行性能提升和跨平台兼容性处理,并指出了使用...

weixin_35705784的博客 5533

手把手教你通过Eclipse工程配置调用JNI完全攻略模板.doc

手把手教你通过Eclipse工程配置调用JNI完全攻略模板.doc

【2021最新】安卓开发环境搭建 android studio安装 JDK+SDK+NDK ADB调试

** 2021最新 ** android studio开发环境搭建 包括下载安装 调试 JDK SDK NDK Gradle ADB环境搭建 安卓项目修改编译打包 eclipse+ADT+JDK+SDK+NDK环境搭建 Flutter+Dart开发环境搭建 安卓项目调试打包编译 需要远程搭建调试 请点击 进入 ...

weixin_45691961的博客 1827

STM32+OpenCV云台PID调参实战:从震荡到丝滑跟踪的进阶之路

本文详细介绍了基于STM32和OpenCV的跟踪云台PID调参实战经验。从硬件搭建、PID控制原理到调参技巧,系统讲解了如何通过调整比例、积分和微分参数解决系统震荡问题,实现从震荡到丝滑跟踪的进阶过程,特别适合电赛和嵌入式视觉控制开发者参考。

tgb3456789的博客 715

Mac os Android开发环境搭建-macports、ndk、sdk、Android源码

第一次使用mac os,第一件事就是搭建环境。由于长期使用Windows+Xshell式的开发模式,所以mac os很容易上手。我主要是在家里使用它来捣鼓一些东西,工作之余可以写一些东西。 刚刚开始有一些地方还不是很适应,因为moc os是基于unix的os,所以很多命令都比较规范,不能像linux那样随意,这就导致了我写的一些脚本运行起来有点问题。为了能很好的适配Mac os和Linux系

123456789 2243

Ubuntu登录界面黑屏?手把手教你排查和修复LightDM启动失败(附debug命令详解)

本文详细介绍了Ubuntu系统中LightDM(Light Display Manager)启动失败导致登录界面黑屏的排查与修复方法。通过系统状态检查、调试模式分析、常见故障解决方案及高级调试技巧,帮助用户快速定位并解决LightDM相关问题,恢复正常的图形登录环境。

weixin_34005090的博客 315

Cortex-M TrustZone实战:从硬件隔离到安全交互的嵌入式开发指南

在嵌入式系统开发中,硬件安全隔离是构建可信执行环境(TEE)的核心技术。其原理是通过处理器硬件机制,将系统资源划分为安全与非安全域,实现内存、外设和代码的强制访问控制。这项技术的核心价值在于,它能在单一芯片上为资源受限的物联网(IoT)设备、智能传感器等提供芯片级的安全基础,无需依赖外置安全元件,从而降低BOM成本并简化设计。典型的应用场景包括保护设备密钥、实现安全启动、构建安全服务(如加密、密钥管理)以供应用程序调用。本文聚焦于Arm Cortex-M系列微控制器上的TrustZone技术实现,针对开发中

weixin_42639246的博客 300

ubuntu10.10下,搭建Android SDK/NDK开发环境

<br /> <br />1. 安装jdk:sudo apt-get install openjdk-6-jdk<br />   用这个jdk也行,貌似说用sun的比较正规。<br />2. 安装Eclisep:system->Administrator->Synaptic Package Manager->查找eclipse->在eclipse选项右键Mark for installation->apply<br />   等安装完成,OK。<br />3. 下载Android sdk:http://an

lizhongkan的专栏 3820

手把手教你用DSP28335的PWM移相功能搞定双有源桥DAB(附完整代码)

本文详细解析了DSP28335的PWM移相功能在双有源桥DAB中的应用,包括ePWM模块的配置、移相时序原理及实战代码。通过精确的移相控制,实现DAB的高效运行和软开关,适用于车载充电机、储能系统等场景。附完整代码,助力开发者快速掌握硬件级移相技术。

weixin_30632089的博客 420

Windows下NDK开发环境的搭建(Cygwin+Android-SDK+NDK)

Windows下NDK开发环境的搭建(Cygwin+Android-SDK+NDK) 2011年08月29日   一:什么是NDK?   NDK 提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so 和java 应用一起打包成apk。这些工具对开发者的帮助是巨大的。   NDK 集成了交叉编译器,并提供了相应的mk 文件隔离CPU、平台、ABI 等差异,开发人...

yls708pq 164

杰理蓝牙AC696X开发实战:自定义蓝牙名称与提示音配置指南

本文详细介绍了杰理AC696X蓝牙芯片开发中自定义蓝牙名称与提示音配置的完整实战指南。文章从SDK工具定位入手,逐步讲解如何通过配置工具修改蓝牙名称,并重点阐述了替换提示音的正确步骤与音频文件(如WAV格式、16kHz采样率)的详细参数要求,最后指导如何生成并验证最终固件,帮助开发者快速实现个性化设备定制。

weixin_29161719的博客 560

智能客服系统知识库构建:长尾问题解决方案全解析

智能客服系统知识库构建:长尾问题解决方案全解析

嗨,欢迎来到我的 优快云 博客小天地!一名深耕多年的技术发烧友。在这里,我将把日常工作中积累的宝贵经验,从复杂架构设计的精妙之处,到代码优化的实战技巧,毫无保留地分享给大家。 4112
上一篇: android上传文件到服务器(这里使用php)
下一篇: Android 中的BroadCastReceiver
不卡 AI
博客等级 码龄18年 15粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值