安装_CENTOS_ANDROID_SDK
Posted on 2018-11-19 18:29:49
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 安装
2.1 解压到指定目录
unzip /opt/software/packages/sdk-tools-linux-3859397.zip -d /opt/software/sdks/android/sdk
cd /opt/software/sdks/android/sdk/tools/bin
2.2 检查需要安装的 sdk 版本
// Sdk and tools
minSdkVersion = 15
targetSdkVersion = 25
compileSdkVersion = 27
buildToolsVersion = "27.0.3"
// App dependencies
supportLibraryVersion = "27.0.2"
constraintLayoutVersion = "1.0.2"
multidex = "1.0.2"
2.3 执行安装命令
./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"
2.4 默认安装的目录结构
# /opt/software/sdks/android/sdk
[root@localhost 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
└── support
38 directories, 42 files
[root@localhost android]#
设置环境变量
vi /etc/profile
# ANDROID_HOME START
ANDROID_HOME=/opt/software/sdks/android/sdk
PATH=$PATH:$ANDROID_HOME:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:ANDROID_HOME/emulator
export ANDROID_HOME PATH
# ANDROID_HOME END
source /etc/profile
遇到的问题
Unsupported major.minor version 52.0 点击查看如何安装 JDK1.8
# 需要安装 jdk 1.8 版本 JDK 1.8 = 52 JDK 1.7 = 51 JDK 1.6 = 50 JDK 1.5 = 49 JDK 1.4 = 48 JDK 1.3 = 47 JDK 1.2 = 46 JDK 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.14 strings /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.gz tar zxvf glibc-2.14.tar.gz cd glibc-2.14 mkdir build cd build ../configure –prefix=/opt/glibc-2.14 make -j4 make 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 directory cp /etc/ld.so.conf /opt/software/glibc-2.14/etc/ make install # make install 最后报 ld.so.conf: No such file or directory mkdir -p $prefix/etc touch $prefix/etc/ld.so.conf make install # 重新查看系统是否已经安装 glibc 2.14 strings /lib64/libc.so.6 |grep GLIBC # 我这里是仍然没有看到 2.14 :) 哈哈 # 修改 aapt cd /opt/software/sdks/android/sdk/build-tools/27.0.3 mv ./aapt ./aapt_ vi ./aapt #!/bin/sh export LD_LIBRARY_PATH=/opt/software/glibc_2_14/lib && "$0"_ $@ chmod +x ./aapt # 对 ./aapt2 也做相同的处理,因为发现有的时候编译使用的是 aapt, 有的时候使用的是 aapt2 # 重新build android 项目 ./gradlew clean assembleDebug --stacktrace # 编译成功 !!!