[centos] 安装 ANDROID SDK
16lz
2021-01-23
1 下载地址 https://developer.android.com/studio/index.html#downloads
cd /opt/software/packages/wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip
2 安装
- 解压到指定目录
unzip /opt/software/packages/sdk-tools-linux-3859397.zip -d /opt/software/sdks/android/sdkcd /opt/software/sdks/android/sdk/tools/bin
- 检查需要安装的 sdk 版本
// Sdk and toolsminSdkVersion = 15targetSdkVersion = 25compileSdkVersion = 27buildToolsVersion = "27.0.3"// App dependenciessupportLibraryVersion = "27.0.2"constraintLayoutVersion = "1.0.2"multidex = "1.0.2"
- 执行安装命令
./sdkmanager --help# echo y | 通过管道模式直接确认,不需要等会儿手动输入 y 确认echo y | ./sdkmanager "build-tools;27.0.3" "platforms;android-27" "platform-tools" "ndk-bundle" "extras;android;m2repository" "extras;google;m2repository" "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2" "tools"
- 默认安装的目录结构
# /opt/software/sdks/android/sdk[[email protected] android]# tree -L 3.└── sdk ├── build-tools │ └── 27.0.3 ├── emulator │ ├── bin64 │ ├── emulator │ ├── emulator64-arm │ ├── emulator64-crash-service │ ├── emulator64-mips │ ├── emulator64-x86 │ ├── emulator-check │ ├── lib │ ├── lib64 │ ├── mksdcard │ ├── NOTICE.txt │ ├── package.xml │ ├── qemu │ ├── resources │ └── source.properties ├── extras │ ├── android │ ├── google │ └── m2repository ├── licenses │ └── android-sdk-license ├── ndk-bundle │ ├── build │ ├── CHANGELOG.md │ ├── meta │ ├── ndk-build │ ├── ndk-depends │ ├── ndk-gdb │ ├── ndk-stack │ ├── ndk-which │ ├── package.xml │ ├── platforms │ ├── prebuilt │ ├── python-packages │ ├── README.md │ ├── shader-tools │ ├── simpleperf │ ├── source.properties │ ├── sources │ ├── sysroot │ └── toolchains ├── patcher │ └── v4 ├── platforms │ └── android-27 ├── platform-tools │ ├── adb │ ├── api │ ├── dmtracedump │ ├── e2fsdroid │ ├── etc1tool │ ├── fastboot │ ├── hprof-conv │ ├── lib64 │ ├── make_f2fs │ ├── mke2fs │ ├── mke2fs.conf │ ├── NOTICE.txt │ ├── package.xml │ ├── sload_f2fs │ ├── source.properties │ ├── sqlite3 │ └── systrace └── tools ├── android ├── bin ├── emulator ├── emulator-check ├── lib ├── mksdcard ├── monitor ├── NOTICE.txt ├── package.xml ├── proguard ├── source.properties └── support38 directories, 42 files[[email protected] android]#
设置环境变量
vi /etc/profile# ANDROID_HOME STARTANDROID_HOME=/opt/software/sdks/android/sdkPATH=$PATH:$ANDROID_HOME:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:ANDROID_HOME/emulatorexport ANDROID_HOME PATH# ANDROID_HOME ENDsource /etc/profile
遇到的问题
- Unsupported major.minor version 52.0 点击查看如何安装 JDK1.8
# 需要安装 jdk 1.8 版本JDK 1.8 = 52JDK 1.7 = 51JDK 1.6 = 50JDK 1.5 = 49JDK 1.4 = 48JDK 1.3 = 47JDK 1.2 = 46JDK 1.1 = 45
- 编译 android 项目 报错 'java.lang.RuntimeException: No server to serve request. Check logs for details.'
# 仔细查看编译日志AAPT err(Facade for 232115523): /opt/software/sdks/android/sdk/build-tools/27.0.3/aapt: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /opt/software/sdks/android/sdk/build-tools/27.0.3/aapt)AAPT err(Facade for 232115523): /opt/software/sdks/android/sdk/build-tools/27.0.3/aapt: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /opt/software/sdks/android/sdk/build-tools/27.0.3/lib64/libc++.so)# 查看系统是否已经安装 glibc 2.14strings /lib64/libc.so.6 |grep GLIBC# 发现不包含 2.14, 安装 glibc 2.14 版本应该可以解决问题yum install gcc g++cd /opt/software/packages/ && wget wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gztar zxvf glibc-2.14.tar.gzcd glibc-2.14mkdir buildcd build../configure –prefix=/opt/glibc-2.14make -j4make install# /opt/software/packages/glibc-2.14/build/elf/ldconfig: Can't open configuration file /opt/software/glibc-2.14/etc/ld.so.conf: No such file or directorycp /etc/ld.so.conf /opt/software/glibc-2.14/etc/make install# make install 最后报 ld.so.conf: No such file or directorymkdir -p $prefix/etctouch $prefix/etc/ld.so.confmake install# 重新查看系统是否已经安装 glibc 2.14strings /lib64/libc.so.6 |grep GLIBC# 我这里是仍然没有看到 2.14 :) 哈哈# 修改 aaptcd /opt/software/sdks/android/sdk/build-tools/27.0.3mv ./aapt ./aapt_vi ./aapt#!/bin/shexport LD_LIBRARY_PATH=/opt/software/glibc_2_14/lib && "$0"_ [email protected]chmod +x ./aapt# 对 ./aapt2 也做相同的处理,因为发现有的时候编译使用的是 aapt, 有的时候使用的是 aapt2# 重新build android 项目./gradlew clean assembleDebug --stacktrace# 编译成功 !!!
更多相关文章
- Rockchip查看Android SDK版本
- Android 深入研究SQLite实例(一) 之 业务类 sqlite版本管理类
- Android和Linux版本对应
- Android 版本及别名
- android 各个版本介绍(截止2017年)
- Android api对应版本(持续更新)
- Android智能定位手表开发-目录
- quick-cocos2d-x如何在windows下编译安卓版本