安装 android-tools

mkdir ~/android && cd ~/android
 
wget https://dl.google.com/android/repository/tools_r25.2.3-linux.zip
unzip tools_r25.2.3-linux.zip

配置环境变量

echo 'export ANDROID_HOME=~/android' >> ~/.bashrc
echo 'export PATH=${ANDROID_HOME}/tools/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
 
git clone https://github.com/drakeet/TimeMachine.git
cd TimeMachine
./gradlew build
漫长的等待后错误如下:
 
FAILURE: Build failed with an exception.
 
* What went wrong:
A problem occurred configuring project ':timemachine'.
> You have not accepted the license agreements of the following SDK components:
  [Android SDK Build-Tools 25.0.2, Android SDK Platform 25].
  Before building your project, you need to accept the license agreements and complete the installation of the missing components using the Android Studio SDK Manager.
  Alternatively, to learn how to transfer the license agreements from one workstation to another, go to http://d.android.com/r/studio-ui/export-licenses.html
 
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
 
BUILD FAILED
 
Total time: 2 mins 40.822 secs
可以看出是因为缺少 [Android SDK Build-Tools 25.0.2, Android SDK Platform 25]
 
这时执行android list sdk --all 寻找匹配的序号
 
从上图可以看出匹配的是 3 
 
执行 android update sdk -u -a -t 3 询问时输入 "y" 并耐心等待
Installing Archives:
  Preparing to install archives
  Downloading Android SDK Build-tools, revision 25.0.2
  Installing Android SDK Build-tools, revision 25.0.2
    Installed Android SDK Build-tools, revision 25.0.299%)
  Done. 1 package installed.
可以看出安装成功,再次执行 ./gradlew build 尝试编译, 报错如下:
 
root@hostker:~/work/TimeMachine# ./gradlew build
Checking the license for package Android SDK Platform 25 in /root/android/licenses
Warning: License for package Android SDK Platform 25 not accepted.
 
FAILURE: Build failed with an exception.
 
* What went wrong:
A problem occurred configuring project ':timemachine'.
> You have not accepted the license agreements of the following SDK components:
  [Android SDK Platform 25].
  Before building your project, you need to accept the license agreements and complete the installation of the missing components using the Android Studio SDK Manager.
  Alternatively, to learn how to transfer the license agreements from one workstation to another, go to http://d.android.com/r/studio-ui/export-licenses.html
 
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
 
BUILD FAILED
 
Total time: 3.94 secs
可以看出是缺少 '[Android SDK Platform 25]',重复上次的过程
 
从上图可以看出匹配的是 33 
 
执行 android update sdk -u -a -t 33 询问时输入 "y" 并耐心等待
Installing Archives:
  Preparing to install archives
  Downloading SDK Platform Android 7.1.1, API 25, revision 3
  Installing SDK Platform Android 7.1.1, API 25, revision 3
    Installed SDK Platform Android 7.1.1, API 25, revision 396%)
  Done. 1 package installed.
可以看出安装成功,再次执行 ./gradlew build 尝试编译, 报错如下:
 
FAILURE: Build failed with an exception.
 
* What went wrong:
A problem occurred configuring project ':timemachine'.
> You have not accepted the license agreements of the following SDK components:
  [Android SDK Platform-Tools].
  Before building your project, you need to accept the license agreements and complete the installation of the missing components using the Android Studio SDK Manager.
  Alternatively, to learn how to transfer the license agreements from one workstation to another, go to http://d.android.com/r/studio-ui/export-licenses.html
 
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
 
BUILD FAILED
 
Total time: 4.913 secs
 
android update sdk -u -a -t 2
Installing Archives:
  Preparing to install archives
  Downloading Android SDK Platform-tools, revision 25.0.3
  Installing Android SDK Platform-tools, revision 25.0.3
  Stopping ADB server failed (code -1).
    Installed Android SDK Platform-tools, revision 25.0.397%)
    Stopping ADB server succeeded.
    Starting ADB server succeeded.
  Done. 1 package installed.
FAILURE: Build failed with an exception.
 
* What went wrong:
A problem occurred configuring project ':timemachine'.
> You have not accepted the license agreements of the following SDK components:
  [Android Support Repository].
  Before building your project, you need to accept the license agreements and complete the installation of the missing components using the Android Studio SDK Manager.
  Alternatively, to learn how to transfer the license agreements from one workstation to another, go to http://d.android.com/r/studio-ui/export-licenses.html
 
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
 
BUILD FAILED
 
android update sdk -u -a -t 160
Installing Archives:
  Preparing to install archives
  Downloading Android Support Repository, revision 43
  Installing Android Support Repository, revision 43
    Installed Android Support Repository, revision 4399%)
  Done. 1 package installed.
再次尝试编译 ./gradlew build
 
 
FAILURE: Build failed with an exception.
 
* What went wrong:
Gradle build daemon disappeared unexpectedly (it may have been killed or may have crashed)
 
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
额... 好像 gradle 进程被杀了,可能我内存太小了吧, 下次换个大点的再试 

在服务器上使用 gradle 打包 android 源码的更多相关文章

  1. 2014年最新720多套Android源码2.0GB免费一次性打包下载

    之前发过一个帖子,但是那个帖子有点问题我就重新发一个吧,下面的源码是我从今年3月份开始不断整理源码区和其他网站上的android源码,目前总共有720套左右,根据实现的功能被我分成了100多个类,总共 ...

  2. 【转】Ubuntu10.04上编译Android源码(Build Android source in Ubuntu10.04 Platform)

    原文网址:http://blog.csdn.net/chenyafei617/article/details/6570928 一.Introduction 今天我们就来谈谈如何在Ubuntu平台上面编 ...

  3. APK 的前世今生:从 Android 源码到 apk 的编译打包流程

    最近想要研究热修复的原理,并自己实现一套简单的热修复框架(音视频的坑刚挖好就又挖另一个坑了2333),已经在看书入门 c++,方便后续查看业内一些知名热修复框架的源码,另外在涉及编译期/运行时修改代码 ...

  4. Android源码浅析(三)——Android AOSP 5.1.1源码的同步sync和编译make,搭建Samba服务器进行更便捷的烧录刷机

    Android源码浅析(三)--Android AOSP 5.1.1源码的同步sync和编译make,搭建Samba服务器进行更便捷的烧录刷机 最近比较忙,而且又要维护自己的博客,视频和公众号,也就没 ...

  5. 从 Android 源码到 apk 的编译打包流程

    文中涉及到的工具所在目录:Android/sdk/build-tools.下面开始分解并逐步实现对源码的打包. 编译流程 1. 生成仅包含资源文件的 apk 包和 R.java 文件 根据资源文件和 ...

  6. 在Mac mini上编译Android源码

    参考文章 1.Android 6.0 源代码编译实践 2.编译Android源码致命错误解决方案 实践过程 1.Mac下安装Ubuntu双系统 (1)Ubuntu版本:Ubuntu 15.10 注:实 ...

  7. macOS(Sierra 10.12)上Android源码(AOSP)的下载、编译与导入到Android Studio

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  8. 在ubuntu16.04上编译android源码【转】

    本文转载自:http://blog.csdn.net/fuchaosz/article/details/51487585 1 前言 经过3天奋战,终于在Ubuntu 16.04上把Android 6. ...

  9. Android源码的编译和下载【转】

    本文转载自:http://blog.csdn.net/banketree/article/details/9089827 网上介绍下载.编译Android方法一坨,读万卷书不如行万里路,以下是笔者亲身 ...

随机推荐

  1. 如何创建和配置Solaris10 zones (ZT)

    http://thegeekdiary.com/how-to-create-and-configure-solaris-10-zones/ Solaris zones enables a softwa ...

  2. Eclipse: “The import java.io cannot be resolved”

    检查一下选项: 重点看jdk的绑定 43down voteaccepted Check your Eclipse preferences: Java -> Installed JREs. The ...

  3. 微信开发准备(二)--springmvc+mybatis项目结构的搭建

    转自:http://www.cuiyongzhi.com/post/34.html 前面一篇有说道如何在MyEclipse中搭建maven项目,这里将继续介绍如何在搭建好的基础maven项目中引入我们 ...

  4. js和jQuery常用选择器

    笔者觉得js是前台基础中的基础,而其选择器则是js基础中的基础,因长期使用框架导致js生疏,所有查资料,回顾一下js的常用选择器: 1.document.getElementById("id ...

  5. UAC(User Agent Client) 和 UAS(User Agent Server)

    SIP协议采用Client/Server模型.每一个请求(Request)触发服务器的一个操作:每个操作被称为方法(Method):每个请求除了指明具体方法外,还携带了一系列的头域(Header fi ...

  6. sql中IN的用法

    1.和where配合使用 IN操作符允许我们在where的子句中规定多个值 SELECT * FROM Persons  WHERE LastName IN ('Adams','Carter') 这句 ...

  7. MS_SQL_获取字符串最后出现的字符串及位置

      一.如:'6.7.8.2.3.4.x'得到最后一个'.'后面的字符串: declare @str1 varchar(50) set @str1='6.7.8.2.3.4.x' select REV ...

  8. 关于RAW 和 ASSEST文件夹的差异

    以下内容转自:http://www.cnblogs.com/leizhenzi/archive/2011/10/18/2216428.html *res/raw和assets的相同点: 1.两者目录下 ...

  9. 如何取消WIN7的共享密码

    如何取消WIN7的共享密码 把你的Guest帐号的密码设为空.如何设置呢? 1.右键“计算机”-“管理”-“本地用户和组”-“用户”-右键帐号“Guest”-“设置密码”,然后直接点击确定,不予设置密 ...

  10. Tensorflow手写数字识别训练(梯度下降法)

    # coding: utf-8 import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data #p ...