一、JDK、SDK、NDK和android的关系
JDK
JDK全称是Java Development Kit,即Java开发工具包,里面包含了Java运行的环境、需要的系统类库和一些Java的常用工具。这里区分一下JDK、SE、EE和ME:
SE(Java se):标准版Java工具包,从JDK5.0开始,改名为Java SE;
EE(Java ee):企业版Java工具包,从JDK5.0开始,改名为Java EE;
ME(Java me):用于移动设备、嵌入式设备的Java工具包,从JDK5.0开始,改名为Java ME;
也就是说,其实SE、EE、ME都是JDK,但是在5.0版本之后,根据其应用场景,划分出了更加详细的分类,平常我们下载JAVA SE即可。
很显然,之所以Android开发需要用到JDK,是因为Android应用就是使用Java语言开发的。
SDK
SDK的全称是Software Develpment Kit,即软件开发工具包。其实各种语言的开发工具包都可以称为SDK,(比如JDK就是Java的软件开发包,即Java SDK。)这里的SDK指的是Android SDK。
SDK中提供了常用的工具合集,包括模拟器、编译工具、开发文档等。
NDK
NDK的全称是Native Development Kit,即原生开发工具包,该工具包主要用来对C/C++语言进行编译使用;
其实Android也可以不使用NDK,但这就需要你开发的操作完全在Java语言的范畴内,不能调用C/C++的第三方库。但是我们知道,如果涉及到比较底层的部分, C/C++语言是避不开的,比如说想要直接操作内存,Java语言是难以实现的。这时候NDK可以让我们比较方便的对C/C++的第三方库进行操作编译。
除此之外,由于C/C++很好的可移植性,NDK在现在的Android中几乎是必不可少的。
平台版本 | SDK版本 | 版本名称 | JDK版本 |
---|---|---|---|
Android 13.0 | 33 | T | 11 |
Android 12.0 | 31 | S | 11 |
Android 11.0 | 30 | R | 8 |
Android 10.0 | 29 | Q | 8 |
Android 9.0 | 28 | Pie | 8 |
Android 8.1 | 27 | Oreo | 8 |
Android 8.0 | 26 | Oreo | 8 |
Android 7.1 | 25 | Nougat | 8 |
Android 7.0 | 24 | Nougat | 8 |
Android 6.0 | 23 | Marshmallow | 7 |
Android 5.1 | 22 | Lollipop | 7 |
Android 5.0 | 21 | Lollipop | 7 |
安卓 commandlinetools 历史版本下载
比如我需要的是linux-7583922_latest,改一下URL后面的版本或者直接去这个网址搜索
https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip
下载SDK历史版本
下载链接:https://dl.google.com/android/repository/platform-tools_r[版本]-[系统].zip
版本:platform-tools的版本名称(33.0.1,33.0.0…)
系统:Windwos→windows,Mac→darwin,linux→linux
例如:https://dl.google.com/android/repository/platform-tools_r33.0.1-windows.zip版本订修记录可查阅地址:https://developer.android.google.cn/studio/releases/platform-tools
二、ubuntu配置NDK
下载解压
wget https://dl.google.com/android/repository/android-ndk-r21b-linux-x86_64.zip
unzip android-ndk-r21b-linux-x86_64.zip
配置环境变量
##行尾添加
export NDK_HOME=ndk的路径
export PATH=$PATH:$NDK_HOME
source /etc/profile
验证安装
ndk-build -v
三、ubuntu配置SDK
1.下载Android SDK
官网链接:https://developer.android.com/studio#downloads
镜像链接:http://www.android-studio.org/index.php/download/hisversion
2、安装SDK和环境变量配置
#wget https://dl.google.com/android/repository/commandlinetools-linux-10406996_latest.zip
wget https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip
unzip sdk-tools-linux-4333796.zip
cd /opt/
sudo mkdir android
cd android
sudo mkdir sdk
sudo mv tools/ /opt/android/sdk/
cd /opt/android/sdk/cmdline-tools
mkdir latest
cd ..
mv * /opt/android/sdk/cmdline-tools/latest
# 需要配置环境变量,在"~/.bashrc"或者/etc/profile文件中加入以下内容
#Either specify it explicitly with --sdk_root= or move this package into its expected location: <sdk>/cmdline-tools/latest/
#将commandlinetools-xxx-xxx_latest.zip解压,得到cmdline-tools文件夹,并重命名为tools
#现在的目录结构应该是:$ANDROID_SDK_ROOT/cmdline-tools/latest。latest会有NOTICE.txt bin lib source.properties等文件。
export ANDROID_NDK=/opt/android/ndk/android-ndk-r21e
export ANDROID_SDK=/opt/android/sdk
export ANDROID_HOME=/opt/android/sdk
export PATH=${PATH}:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools
# 让配置文件生效source /etc/profile
source ~/.bashrc
因为如果以后版本升级,sdkmanager
会被放在$ANDROID_SDK_ROOT/cmdline-tools/latest/bin
目录下,所以把latest
目录放到较高的优先级。
3、Android SDK Manager在终端使用
当Android SDK tools安装后,我们可以通过sdkmanager命令在终端查看,安装,更新和移除Android SDK.
sdkmanager --version
sdkmanager --update
# 查看所有可以安装的和安装过的组件信息。
touch ~/.android/repositories.cfg
sdkmanager --no_https --list
# 安装指定版本的Android SDK
sdkmanager --no_https "platforms;android-28" "platform-tools" "build-tools;28.0.3"
# 删除SDK
sdkmanager --uninstall 包名
sdkmanager --uninstall "platforms;android-26"
4、检验是否安装成功
adb shell