[ubuntu]android SDK 与Gradle环境的安装与配置|搭建android基础开发/构建环境
系统环境:
linux:ubuntu18
已配置jdk 环境变量
切换到root账户
sudo su
安装Android-sdk
(0)准备工作
切换到/usr/local目录:
/usr/local
:用户级的程序目录,可以理解为C:/Progrem Files/
。用户自己编译的软件默认会安装到这个目录下。
cd /usr/local
其它关于linux目录的说明可以查看:为什么linux安装程序 都要放到/usr/local目录下
新建android-home文件夹,用来存放android-sdk安装文件
mkdir android-home
切换到该目录下
cd android-home/
(1)下载android-sdk
复制链接,使用wget下载
下载命令:
root@wangju-HP-348-G4:/usr/local/android-home# wget http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz
下载成功:
root@wangju-HP-348-G4:/usr/local/android-home# ls
android-sdk_r24.4.1-linux.tgz
(2)解压下载的压缩包
tar -zxvf android-sdk_r24.4.1-linux.tgz
(3)安装32位库
android sdk
工具包的一些命令行工具是基于32
位系统的,在64
为平台运行32
程序必须安装 i386
的一些依赖库,方法如下
apt-get install -y libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1
(4)配置环境变量:
在命令终端输入:
cd 到解压目录:
cd android-sdk-linux
记录android-sdk目录:
root@wangju-HP-348-G4:/usr/local/android-home/android-sdk-linux# pwd
/usr/local/android-home/android-sdk-linux
ANDROID_SDK_HOME=/usr/local/android-home/android-sdk-linux
在终端输入:
nano /etc/profile
将下列内容写入到:/etc/profile末尾,并保存
ANDROID_SDK_HOME=/usr/local/android-home/android-sdk-linux
export PATH=$PATH:${ANDROID_SDK_HOME}/tools
export PATH=$PATH:${ANDROID_SDK_HOME}/platform-tools
如图:
(5)使配置生效
source /etc/profile
(6)下载sdk和工具,更新下载
环境变量生效后,你可以使用android
命令 列出sdk
相关的列表,以便我们选择和自己项目匹配的SDK
版本。
(刚才只是安装了最基础的SDK
,要完全满足你的开发环境需要还得从下面的列表中选择你需要的SDK
和工具更新下载)
android list sdk --all
输出如下所示:
这里包括不同的Android API
版本和不同的构建工具,选择你想要安装项目的序号,
Android SDK Platform-tools, revision 29.0.5这里我想安装 Android SDK Tools, revision 25.2.5,Android SDK Build-tools, revision 29.0.2
以及android 8.0.0
以上的SDK
所以选择序号 1,2,3,50,51,52
android update sdk -u -a -t 1,2,3,5,51,52
开始下载文件:
完成安装:
(7)验证android-sdk安装成功
查看adb版本,如下所示,android-sdk就配置完成了
root@wangju-HP-348-G4:/usr/local/android-home/android-sdk-linux/tools# adb version
Android Debug Bridge version 1.0.41
Version 29.0.5-5949299
安装 Gradle
(1)下载gradle
首先cd到android-home的同级目录
cd /usr/local
下载gradle,这里要注意下载与你项目编译使用的gradle版本保持一致,否则不能正常编译
wget https://services.gradle.org/distributions/gradle-4.6-bin.zip
解压到当前目录
unzip gradle-4.4-bin.zip
(2)将gradle添加到环境变量:
echo "export GRADLE_HOME=/usr/local/gradle-4.6" >> /etc/profile
echo "export PATH=\$PATH:\$GRADLE_HOME/bin" >> /etc/profile
(3)使配置生效
source /etc/profile
(4)验证gradle安装成功
如果安装配置的没有问题将会提示类似下面的信息
wangju@wangju-HP-348-G4:~$ gradle > Task :help Welcome to Gradle 4.6. To run a build, run gradle <task> ... To see a list of available tasks, run gradle tasks To see a list of command-line options, run gradle --help To see more detail about a task, run gradle help --task <task> For troubleshooting, visit https://help.gradle.org
编译 Android
应用
完成以上的环境配置,我们的一个Android
下的基础构建环境就全部配置好了,接下来做的事情就是尝试使用gradle
编译一个android
应用出来验证我的编译环境是否OK
,下载我写的一个gadle demo
例子进行测试。
编译时报错如下:
FAILURE: Build failed with an exception. * What went wrong: A problem occurred configuring project ':app'. > Failed to notify project evaluation listener. > Failed to install the following Android SDK packages as some licences have not been accepted. platforms;android-26 Android SDK Platform 26 build-tools;28.0.3 Android SDK Build-Tools 28.0.3 To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager. Alternatively, to transfer the license agreements from one workstation to another, see http://d.android.com/r/studio-ui/export-licenses.html Using Android SDK: /usr/local/android-home > Must apply 'com.android.application' first! * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 0s
从错误提示中看出,我需要安装下面这2个android sdk
platforms;android-26 Android SDK Platform 26
build-tools;28.0.3 Android SDK Build-Tools 28.0.3
安装
android update sdk -u -a -t 6
参考文档:
Ubuntu下全命令行搭建Android开发环境
测试编译过程,遇到如下问题,已解决:
问题1:
SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.
问题2:
Failed to install the following Android SDK packages as some licences have not been accepted.