当前位置:首页 » 安卓系统 » androidsdk与ndk

androidsdk与ndk

发布时间: 2022-08-01 14:59:52

❶ Android Studio配置环境变量,需要配置SDK,还需要配置NDK吗

一.安装Android Studio的准备工作
1.下载好JDK
去官网上找一个下载下来
2.安装JDK.并配置环境变量.安装过程可以一直下一步,无脑操作
3.下载Android Studio的安装包
去官网上找一个,下载下来
(jdk的环境变量一定要配置)

准备工作完成之后,就可以开始我们的安装了
1.安装Android studio也是无脑操作,一直点下一步。直到安装结束
2.安装好之后,我们要新建我们的项目。重点从这里开始

点击 New Project会出现.我们设置好名称,也可以无脑操作,一直点击next,直至结束,不过这个过程需要我们耐心的等待。(时间有点漫长)。

然后我们就会进入我们的开发界面。点击图片中红圈的图标(SDK manager)会出现下图

这个步骤是安装Android的sdk,推荐,Android1.6~Android4.4.2全部安装。(这个耗费时间挺长的,请在网速良好且大量闲暇时光下安装,安装过程中可以看部电影)

安装完之后,就开始配置我们的avd(Android Virtual Device),也就是Android的虚拟环境。点击,图片中红圈的图标

点击New(Test是我配置好的)

随便设置AVD name,建议如图设置

设置完成之后,就可以点击下图的三角号编译我们的程序了。

❷ 安卓sdk和ndk都是什么有什么区别哪个更有前途

让我先来说说android sdk (Android Software Development Kit, 即Android软件开发工具包)可以说只要你使用java去开发Android这个东西就必须用到。他包含了SDK Manager 和 AVD Manage
对于android系统的一些开发版本的管理以及模拟器管理。
而ndk (Native Development Kit)跟sdk差不多的是他也是一个开发工具包。用他开发c/c++是很方便的。他有一个强大的编译集合。
其实名词的解释我也不想多说。这点你只需要网络分别输入sdk 和 ndk 网络里就有你想要的。
区别是什么我只想说是他们基本上是应该没什么相同的。
至于哪个更有前途。
这个不好说。
我来说说android他为什么会有一个ndk把。
很早以前android是只有sdk的。并没有ndk。这就意味着一旦android的开发者要使用c/c++的三方库或者需要用到c/c++就必须使用非官方的法子。用java的jni去调用c/c++。耍小聪明走后门一样。而ndk的出现就意味着jni调用的这种方法转正了变成官方了以后你不需要再走后面大路正面随你走。
可是这样还是没有说到为什么要有ndk啊。是的我只想说的就是如果你要操作底层直接操作内存。操作地址那你不得不去使用c/c++因为java这块想做这些。那恐怕有点困难。所以ndk是必须需要出现的。
而这个sdk和ndk并不是完全不相溶的2门语言。对于android来说是同种语言的2种不同时期的必须品。
最后想说如果你做android开发想要做得更好你就必须要ndk的。
一句套话:学得好什么都有前途、

❸ Android开发的IDE、ADT、SDK、JDK、NDK等名词解释

这篇文章主要介绍了Android开发的IDE、ADT、SDK、JDK、NDK等名词解释,对这些概念搞不清楚是一件痛苦的事,本文就简洁讲解了这些名词的含义,一起扫盲吧,需要的朋友可以参考下
1.
IDE:
Intelligent
Development
Environm的简称。即智能开发环境。是一种开发工具。常用的IDE有adt-bundles和Android
studio。两个都需要配置jdk。
2.
ADT:
Android
Development
tools的简称。即Android开发工具。ADT为Eclipse的插件。在Eclipse和SDK之间起了一个桥梁的作用。
3.
SDK:
Soft
Development
Kit的简称。软件开发工具包。在Android中,它为开发者提供了库文件以及其它开发所用到的工具。
4.
JDK:
Java的开发工具包。包括了Java运行环境、Java工具和Java基础类库。
5.
NDK:
概念:
(1).NDK是一系列工具的集合。帮助开发者快速开发C/C++的动态库。
并能自动将so和Java应用一起打包成apk。这些工具对开发者的帮助是巨大的。
(2).NDK将是Android平台开发支持C开发的开端。
作用:
(1).代码的保护。由于Java层代码很容易被反编译,而C/C++库反编译难度很大。
(2).可以方便的使用现存的开源库。大部分现存的开源库都是用C/C++代码编写的。
(3).提高程序的执行效率。将要求高性能的应用逻辑使用C开发,从而提高应用程序的执行效率。
(4).便于移植。用C/C++写的库可以方便的在其他的嵌入式平台上再次使用。

❹ 安卓的NDK和SDK是什么

可以用NDK开发,但不会替代SDK,因为NDK开发难度非常发,NDK有个巨大的麻烦就是现在有x86芯片的android手机的,用NDK就会需要提供两套APK,比较麻烦。Android平台的第三方应用程序均是依靠基于Java的Dalvik特制虚拟机进行开发的。原生SDK(NDK)的可以让开发者更加直接的接触Android系统资源,并使用传统的C或C++语言编写程序,并在程序封包文件(.apks)中直接嵌入原生库文件。NDK主要用于一些具有大量逻辑计算和高性能的图像渲染的工作,比如我们要开发款大型的3D游戏,那么如果使用AndroidSDK通过Java来开发,速度和性能上很难满足我们的要求,这是就可以使用NDK通过C\C++来开发原生的程序来处理这些渲染,可以极大的提高我们游戏的性能。所以我们很有必要对NDK进行学习。

❺ 在android平台上的,基于ndk比基于sdk速度提高了多少时间

android sdk 开发就是通常意义上的 android java 开发;
android ndk 开发主要是指 android c/c++ 开发;
他们在速度上的差距主要体现在两种类型的编程语言上的区别;

① java属于解释性语言,c/c++属于编译性语言,java 比 c/c++ 慢;
② java代码的安全机制做的很高,c/c++的安全机制低,就好比一个通道,有一个有安检,一个没有安检,有了安检必然会导致速度降低,java 比 c/c++ 慢;
③ java开发主要注重业务逻辑,c/c++开发注重效率,两类语言的开发者的思维也影响着程序运行的速度,java 比 c/c++慢;
④ 其他;
综上所述,java比c/c++慢,即 sdk 比 ndk慢

❻ 如何设置android sdk ndk

android sdk 更新到 r23 时,eclipse 自带 adt版,里面并没有设置ndk的路径,从而导致了在ndk配置方面的难度。本文主要适合:
① 使用 android sdk r23 20140702 的朋友
② 使用 android ndk r10d 的朋友
③ 想知道andorid adt自带eclipse无法设置ndk路径的解决方法
④ 不知道如何使用代理ip的朋友
⑤ 不知道如何下载 android sdk, android ndk的朋友
http://jingyan..com/article/3ea51489e7a9bd52e61bbac7.html

❼ android sdk开发和android ndk 开发具体指什么

这个问题有难度,我不慎专业啊.....

❽ Android NDK开发简介 NDK和SDK以及JNI有什么关系

NDK:Android NDK 是在SDK前面又加上了“原生”二字,即Native Development Kit,因此又被Google称为“NDK”。
NDK全称:Native Development Kit。
NDK是一系列工具的集合。
* NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者的帮助是巨大的。
* NDK集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。
* NDK可以自动地将so和Java应用一起打包,极大地减轻了开发人员的打包工作。
其实:
NDK就是能够方便快捷开发.so文件的工具。JNI的过程比较复杂,生成.so需要大量操作,而NDK就是简化了这个过程。

Android SDK:
SDK (software development kit)软件开发工具包。被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。因此!Android SDk 指的既是Android专属的软件开发工具包

JNI:
Java Native Interface (JNI)标准是java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI 是本地编程接口,它使得在 Java 虚拟机 (VM) 内部运行的 Java 代码能够与用其它编程语言(如 C、C++ 和汇编语言)编写的应用程序和库进行交互操作
当然一般需要进行如下操作流程:
1) 编写java程序:这里以HelloWorld为例。为了实现在 java代码中调用c函数printf。
代码1:
class HelloWorld {
public native void testHelloWorld();
static {
System.loadLibrary("hello");
}
public static void main(String[] args) {
new HelloWorld().testHelloWorld();
}
}
声明native方法:如果你想将一个方法做为一个本地方法的话,那么你就必须声明改方法为native的,并且不能实现。
Load动态库:System.loadLibrary("hello");
这里一般是以static块进行加载的。同时需要注意的是System.loadLibrary()的参数“hello”是动态库的名字。
2) 编译
javac HelloWorld.java
3) 生成扩展名为h的头文件 javah ?
JNIEXPORT void JNICALL Java_HelloWorld_testHelloWorld (JNIEnv *, jobject);

这个h文件相当于我们在java里面的接口,这里声明了一个 Java_HelloWorld_testHelloWorld (JNIEnv *, jobject)方法,然后在我们 的本地方法里面实现这个方法,也就是说我们在编写C/C++程序的时候所使用的方法名必须和这里的一致)。
4) 编写本地方法实现和由javah命令生成的头文件里面声明的方法名相同的方法

代码2:
#include "jni.h"
#include "HelloWorld.h"
#include other headers

JNIEXPORT void JNICALL Java_HelloWorld_testHelloWorld(JNIEnv *env, jobject obj)
{
printf("Hello world!/n");
return;
}
注意代码2中的第1行,需要将jni.h(该文件可以在%JAVA_HOME%/include文件夹下面找到)文件引入,因为在程序中的JNIEnv、 jobject等类型都是在该头文件中定义的;另外在第2行需要将HelloWorld.h头文件引入。然后保存为 HelloWorldImpl.c就ok了。
5) 生成动态库
这里以在Windows中为例,需要生成dll文件。在保存HelloWorldImpl.c文件夹下面,使用VC的编译器cl成。 cl -I%java_home%/include -I%java_home%/include/win32 -LD HelloWorldImp.c -Fehello.dll 注意:生成的dll文件名在选项-Fe后面配置,这里是hello,因为在HelloWorld.java文件中我们loadLibary的时候使用的名字是hello。
另外需要将-I%java_home%/include -I%java_home%/include/win32参数加上,因为在第四步里面编写本地方法的时候引入了jni.h文件。

❾ android ndk与sdk

1. SDK

Android SDK(Android Software Development Kit),即Android软件开发工具包,Android的SDK基于Java实现,这意味着基于Android SDK进行开发的第三方应用都必须使用Java语言。但这并不等同于“第三方应用只能使用Java”,也就是说我们还可以采用C/C++语言。

2. NDK

NDK即Native Development Kit,众所周知,Android程序运行在Dalvik虚拟机中,NDK允许用户使用类似C / C++之类的原生代码语言执行部分程序。

NDK是一系列工具的集合。它提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk(AndroidPackage的缩写,Android安装包)。这些工具对开发者的帮助是巨大的。它集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。它可以自动地将so和Java应用一起打包,极大地减轻了开发人员的打包工作

NDK提供了一份稳定、功能有限的API头文件声明,Google明确声明该API是稳定的,在后续所有版本中都稳定支持当前发布的API。从该版本的NDK中看出,这些API支持的功能非常有限,包含有:C标准库(libc)、标准数学库(libm)、压缩库(libz)、Log库(liblog)。

为什么使用NDK

(1) 代码的保护。由于apk的java层代码很容易被反编译,而C/C++库反汇难度较大。

(2) 可以方便地使用现存的开源库。大部分现存的开源库都是用C/C++代码编写的。

(3) 提高程序的执行效率。将要求高性能的应用逻辑使用C开发,从而提高应用程序的执行效率。

(4)便于移植。用C/C++写得库可以方便在其他的嵌入式平台上再次使用。

❿ 安卓用SDK 或者NDK来编,程序运行速度差多少听说SDK快

android sdk 开发就是通常意义上的 android java 开发;
android ndk 开发主要是指 android c/c++ 开发;
他们在速度上的差距主要体现在两种类型的编程语言上的区别;

① java属于解释性语言,c/c++属于编译性语言,java 比 c/c++ 慢;
② java代码的安全机制做的很高,c/c++的安全机制低,就好比一个通道,有一个有安检,一个没有安检,有了安检必然会导致速度降低,java 比 c/c++ 慢;
③ java开发主要注重业务逻辑,c/c++开发注重效率,两类语言的开发者的思维也影响着程序运行的速度,java 比 c/c++慢;
④ 其他;
综上所述,java比c/c++慢,即 sdk 比 ndk慢,更多的可以参考:
http://tieba..com/p/3222232840
我是ndk吧的吧主,有问题可以来ndk吧反应,也希望大家多关注ndk,ndk吧链接:
http://tieba..com/f?kw=ndk
谢谢!

热点内容
密码箱怎么锁住 发布:2025-01-20 16:32:17 浏览:31
编译隔离 发布:2025-01-20 16:28:54 浏览:358
从哪里看自己的qq账号和密码 发布:2025-01-20 16:22:33 浏览:400
sql语句动态 发布:2025-01-20 16:18:22 浏览:298
sql表或的语句 发布:2025-01-20 16:00:49 浏览:163
西瓜视频怎么缓存不了电影了 发布:2025-01-20 16:00:45 浏览:890
javatimer 发布:2025-01-20 15:55:56 浏览:64
ts使用什么编译器 发布:2025-01-20 15:54:59 浏览:382
数据库中已存在 发布:2025-01-20 15:35:44 浏览:110
压缩超过密度 发布:2025-01-20 15:35:33 浏览:648