在服务器上使用grandle打包android源码

安装 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

以编译https://github.com/drakeet/Ti...为例

git clonehttps://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 ofthe following SDK components:

 [Android SDK Build-Tools 25.0.2, Android SDKPlatform 25].

 Before building your project, you need to accept the license agreements and complete the installation ofthe missing components usingthe Android Studio SDK Manager.

 Alternatively, to learn how to transfer the license agreements fromone workstation to another, go tohttp://d.android.com/r/studio-ui/export-licenses.html

 

* Try:

Run with--stacktrace option to get the stack trace. Run with --info or --debugoption to get more log output.

 

BUILD FAILED

 

Total time: 2 mins 40.822secs

可以看出是因为缺少[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 25in /root/android/licenses

Warning: License for package Android SDK Platform 25not accepted.

 

FAILURE: Build failed withan exception.

 

* What went wrong:

A problem occurred configuring project ':timemachine'.

> You have not accepted the license agreements ofthe following SDK components:

 [Android SDK Platform 25].

 Before building your project, you need to accept the license agreements and complete the installation ofthe missing components usingthe Android Studio SDK Manager.

 Alternatively, to learn how to transfer the license agreements fromone workstation to another, go tohttp://d.android.com/r/studio-ui/export-licenses.html

 

* Try:

Run with--stacktrace option to get the stack trace. Run with --info or --debugoption to get more log output.

 

BUILD FAILED

 

Total time: 3.94secs

可以看出是缺少 '[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 ofthe following SDK components:

 [Android SDK Platform-Tools].

 Before building your project, you need to accept the license agreements and complete the installation ofthe missing components usingthe Android Studio SDK Manager.

 Alternatively, to learn how to transfer the license agreements fromone workstation to another, go tohttp://d.android.com/r/studio-ui/export-licenses.html

 

* Try:

Run with--stacktrace option to get the stack trace. Run with --info or --debugoption to get more log output.

 

BUILD FAILED

 

Total time: 4.913secs


android update sdk -u-a -t 2

Installing Archives:

 Preparing to install archives

 Downloading Android SDKPlatform-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 ofthe following SDK components:

 [Android Support Repository].

 Before building your project, you need to accept the license agreements and complete the installation ofthe missing components usingthe Android Studio SDK Manager.

 Alternatively, to learn how to transfer the license agreements fromone workstation to another, go tohttp://d.android.com/r/studio-ui/export-licenses.html

 

* Try:

Run with--stacktrace option to get the stack trace. Run with --info or --debugoption to get more log output.

 

BUILD FAILED


android update sdk -u-a -t 160

Installing Archives:

 Preparing to install archives

 Downloading Android SupportRepository, 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 disappearedunexpectedly (it may have been killed or may have crashed)

 

* Try:

Run with --stacktrace optiontoget the stack trace. Run with --info or --debug optiontoget more log output.

... 好像 gradle 进程被杀了,可能我内存太小了吧, 下次换个大点的再试

 

你可能感兴趣的:(devops)