Android环境搭建 NDK+ADT(免cywgin)
JDK下载:
1下载地址 http://www.oracle.com/technetwork/java/javase/downloads/index.html
2配置环境变量
JAVA_HOME:创建。
其值为:jdk在你电脑上的安装路径。
PATH:编辑。
其值为:%JAVA_HOME%\bin。
CLASSPATH:编辑。
配置两个值,其值为:.;%JAVA_HOME%\lib\tools.jar(当中,第一个值表示JVM先搜索当前文件夹)。
3測试变量
打开cmd,输入命令java –version和javac,若出现返回信息,则设置成功。
ADT下载:
下载地址 http://dl.google.com/android/adt/adt-bundle-windows-x86_64-20140702.zip
Eclipse + SDK +ADT的集成工具包,也能够用eclipse自己先搭建
解压:
NDK下载
下载地址 http://dl.google.com/android/ndk/android-ndk-r10e-windows-x86_64.exe
解压:
配置SDK和NDK
SDK配置:ADT集成的eclipse工具默认状况下已经配置好SDK
NDK配置:打开Eclipse,点Window->Preferences->Android->NDK,设置NDK路径
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdsYTEyMjA=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
可能出现的问题:找不到NDK选项
解决方式:下载NDK组件com.android.ide.eclipse.ndk_23.0.2.1259578.jar。将文件“com.android.ide.eclipse.ndk_23.0.2.1259578.jar”拷贝到sdk自带的eclipse/plugins文件夹下。
下载地址:软件百度云链接:http://pan.baidu.com/s/1qWz5rNApassword:0qhk
建立第一个安卓project:
1. 新建一个Android application project,全部參数项为默认值无须更改
2. project上右键点击AndroidTools->Add Native Support,名字为默认值。无须更改。
确认后,project自己主动生成jni的目录。jni下有Android.mk和my-ndk.cpp文件。Android.mk是NDKproject的Makefile,NDKTest.cpp。为NDK的源文件。
3. 编码NDKTest.cpp
代码:
#include <string.h>
#include <jni.h>
extern "C"
{
jstring Java_com_example_ndktest_MainActivity_stringJNI(JNIEnv* env,
jobject thiz){
return env->NewStringUTF("HelloJNI!!");
}
}
4. 编码MainActivity.java
src->com.example.ndktest->MainActivity.java
代码:
packagecom.example.ndktest;
importandroid.support.v7.app.ActionBarActivity;
importandroid.os.Bundle;
importandroid.view.Menu;
importandroid.view.MenuItem;
importandroid.widget.TextView; public classMainActivity extends ActionBarActivity { static {
System.loadLibrary("NDKTest");
}
public native StringstringJNI(); @Override
protected voidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextViewtvText = new TextView(this);
tvText.setText(stringJNI());
setContentView(tvText);
} @Override
public booleanonCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
} @Override
public booleanonOptionsItemSelected(MenuItem item) {
int id =item.getItemId();
if (id ==R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
} }
5. 编译执行。就可以。
可能出现故障:Unable to launch cygpath. Is Cygwin onthe path?错误
解决方式:
project右键,点Properties->C/C++ Build的Building Settings中去掉Use default build command,然后输入${NDKROOT}/ndk-build.cmd
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdsYTEyMjA=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
在C/C++ Build中点击Environment,点Add...加入环境变量NDKROOT,值为NDK的根文件夹。
6. 手机执行程序
能够选择虚拟机AVD或者直接连接手机。AVD执行配置繁琐执行慢,建议直接连接手机。(參考网址http://jingyan.baidu.com/album/6181c3e0618b18152ff15375.html?picindex=4)
打开eclipse项目,选择run as中的runconfigurations这个选项,在target中。去掉第三个选项,选择第一个选项。然后apply,之后ok。
运行项目,能够看到已经连接的手机。选择手机。进行调试。
——@zl
2015年6月30
Android环境搭建 NDK+ADT(免cywgin)的更多相关文章
- Android基础学习:Android环境搭建
在3年前,自学过Android的一些基础知识,但是那个时候Linux等其他的知识结构比较薄弱,理解得不是很深刻,后来因项目变动的原因,没有再搞Android相关的东西了.时过境迁,还是因为项目变动,重 ...
- android环境搭建——工欲善其事,必先利其器 2
前两天鼓捣android, 搭建环境,不想麻烦就用了 adt-bundle-windows-x86-20140702. rar , 起个模拟器哇塞,太爽了. 出去转一圈唠会回来正好启动成功!有个网友 ...
- 第一课 android环境搭建
android环境搭建需要的工具: 1.JDK 2.eclipse 3.SDK 4.ADT
- Android环境搭建的步骤
Android 环境搭建步骤 这里简单介绍一下学习Android之后如何搭建环境的问题 一. 在搭建环境之前,首先你要先下载Java JDK(根据系统位数选择下载是64位或32位的),Eclip ...
- paip.android环境搭建与开发事例
paip.android环境搭建与开发事例 好长时间没有玩AndROID了..以前常常做ANDROID的,今天决定在下载一个要做个时间设置器 作者Attilax , EMAIL:1466519819 ...
- Android环境搭建及Ionic打包(win7)
本人刚刚接触Ionic3,初步进行打包操作,将其遇到的问题和整个流程记录下载,方便以后的巩固,也为小白们提供一个参考.因本人没有appleヽ(ー_ー)ノ,而且使用的是WIN7系统,所以暂时只提供了WI ...
- React-native Android环境搭建
基础安装 安装Homebrew Homebrew是Mac OSX的包管理器,我们需要通过Homebrew安装开发React Native的相关软件包. 如果不知道怎样安装Homebrew可以点这里:官 ...
- cocos2d-x 3.0 Android环境搭建(亲測通过)
网上一大堆讲述coco2d-x 3.0 版本号的android环境搭建.真是不忍直視.讲的不清不楚,真是不知道他们自己有没有測试过.今天正好忙完项目有点时间去部署了下android环境. cocos2 ...
- Android 环境搭建
一.Android 环境搭建 开发工具: Android Studio(开发工具,前提是先装 java JDK) 下载地址:http://www.androiddevtools.cn/ Oracl ...
随机推荐
- 10. 修改端口号【从零开始学Spring Boot】
转载:http://blog.csdn.net/linxingliang/article/details/51637017 spring boot 默认端口是8080,如果想要进行更改的话,只需要修改 ...
- select、poll、epoll之间的区别总结[整理](转)
select,poll,epoll都是IO多路复用的机制.I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作.但select ...
- 分组password算法
代换,S盒.扩散和混淆,这些概念构成了分组password学的基础. 假设明文和密文的分组长度都为n比特,则明文的每个分组都有2n个可能的取值; 代换: 为使加密运算可逆(即解密运算可行),明文的每个 ...
- 公网通过代理访问阿里云vpc redis
前提条件 如果您需要从本地 PC 端访问 Redis 实例进行数据操作,可以通过在 ECS 上配置端口映射或者端口转发实现.但必须符合以下前提条件: 若 Redis 实例属于专有网络(VPC),ECS ...
- iOS中文输入法多次触发的问题及解决方案
最近要在移动端实现一个文本框实时搜索的功能,即在文本框里每输入一个字,就向服务器请求一次搜索结果.暂且不考虑性能优化问题,第一时间想到的是用keyup实现: $('input').on('keyup' ...
- [译]GLUT教程 - 渲染到子窗体
Lighthouse3d.com >> GLUT Tutorial >> Subwindows >> Rendering to Subwindows 先回顾一下之前 ...
- 查看cup是32位还是64位
1#echo $HOSTTYPE 2#uname -a 3#getconf LONG_BIT
- mapreduce中reduce中的迭代器只能调用一次。其实迭代器就只能调用一次
亲测,只能调用一次,如果想想在一次reduce重复使用迭代器中的数据,得先取出来放在list中然后在从list中取出来!!多次读取reduce函数中迭代器的数据 public static void ...
- Arbitrage - poj 2240 (Bellman-ford)
Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 17374 Accepted: 7312 Description Ar ...
- 读取Excel中的数据到DataSet
读取Excel中的数据到DataSet 1.引用命名空间 using System.Data.OleDb; 2.输入Excel文件,输出DataSet public DataSet ExecleDs( ...