linux部署android环境报错解决

本文详细介绍了在Linux服务器上下载、安装Android SDK的过程,包括配置环境变量、安装SDK工具及平台工具,并解决了在安装和使用过程中遇到的各类常见错误,如缺少库文件和许可证接受问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.下载sdk到服务器

1.1 浏览器下载sdk 上传

https://developer.android.com/studio/index.html
#选择

android-sdk_r24.4.1-linux.tgz

1.2 解压

tar xf wget android-sdk_r24.4.1-linux.tgz -C /server/android

1.3 配置环境变量ANDROID

#android
export ANDROID_HOME=/server/android
export PATH=$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH

1.4 安装sdk

安装全部

android update sdk --no-ui

选择安装

android list sdk --all

查看版本列表

   1- Android SDK Tools, revision 25.2.5
   2- Android SDK Platform-tools, revision 28.0.2
   3- Android SDK Build-tools, revision 29 rc1
   4- Android SDK Build-tools, revision 28.0.3
   5- Android SDK Build-tools, revision 28.0.2
   6- Android SDK Build-tools, revision 28.0.1
   7- Android SDK Build-tools, revision 28
   8- Android SDK Build-tools, revision 27.0.3
   9- Android SDK Build-tools, revision 27.0.2
  10- Android SDK Build-tools, revision 27.0.1
  11- Android SDK Build-tools, revision 27
  12- Android SDK Build-tools, revision 26.0.3
  13- Android SDK Build-tools, revision 26.0.2
  14- Android SDK Build-tools, revision 26.0.1
  15- Android SDK Build-tools, revision 26
  16- Android SDK Build-tools, revision 25.0.3
  17- Android SDK Build-tools, revision 25.0.2
  18- Android SDK Build-tools, revision 25.0.1
  19- Android SDK Build-tools, revision 25
  20- Android SDK Build-tools, revision 24.0.3
  21- Android SDK Build-tools, revision 24.0.2
  22- Android SDK Build-tools, revision 24.0.1
  23- Android SDK Build-tools, revision 24
  24- Android SDK Build-tools, revision 23.0.3
  25- Android SDK Build-tools, revision 23.0.2
  26- Android SDK Build-tools, revision 23.0.1
  27- Android SDK Build-tools, revision 23 (Obsolete)
  28- Android SDK Build-tools, revision 22.0.1
  29- Android SDK Build-tools, revision 22 (Obsolete)
  30- Android SDK Build-tools, revision 21.1.2
  31- Android SDK Build-tools, revision 21.1.1 (Obsolete)
  32- Android SDK Build-tools, revision 21.1 (Obsolete)
  33- Android SDK Build-tools, revision 21.0.2 (Obsolete)
  34- Android SDK Build-tools, revision 21.0.1 (Obsolete)
  35- Android SDK Build-tools, revision 21 (Obsolete)
  36- Android SDK Build-tools, revision 20
  37- Android SDK Build-tools, revision 19.1
  38- Android SDK Build-tools, revision 19.0.3 (Obsolete)
  39- Android SDK Build-tools, revision 19.0.2 (Obsolete)
  40- Android SDK Build-tools, revision 19.0.1 (Obsolete)
  41- Android SDK Build-tools, revision 19 (Obsolete)
  42- Android SDK Build-tools, revision 18.1.1 (Obsolete)
  43- Android SDK Build-tools, revision 18.1 (Obsolete)
  44- Android SDK Build-tools, revision 18.0.1 (Obsolete)
  45- Android SDK Build-tools, revision 17 (Obsolete)
  ...

选择安装

./android update sdk -u --all --filter 28,21,22

查看自己安装的版本

[root@cash /server/android/build-tools]# ll
total 12
drwxr-xr-x 4 root root 4096 Mar 14 15:49 22.0.1
drwxr-xr-x 5 root root 4096 Mar 14 15:35 24.0.1
drwxr-xr-x 5 root root 4096 Mar 14 15:35 24.0.2

注:

修改android代码中build.gradle

 

5. 需要jdk环境

参考:

https://blog.youkuaiyun.com/wanchaopeng/article/details/83538629

2.1  报错

Cannot run program “/server/android/build-tools/22.0.1/aapt”: error=2, No such file or directory

解决方案1:可能是没有安装该版本的build tools 
解决方案2:缺少C++.库,执行以下cmd

yum install libstdc++.i686

2.2 报错

/server/android/build-tools/22.0.1/aapt: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory

解决方法

yum install glibc*.i686
yum install zlib*.i686

2.3 关于ConstraintLayout的问题

You have not accepted the license agreements of the following SDK components: 
[ConstraintLayout for Android 1.0.2, Solver for ConstraintLayout 1.0.2].

解决

# 命令1
echo y | $ANDROID_HOME/tools/bin/sdkmanager "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2"
# 命令2
echo y | $ANDROID_HOME/tools/bin/sdkmanager "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2"

2.4 解决java.io.IOException: error=2

[root@cash ~]# uname -a 
Linux cash-register 3.10.0-693.2.2.el7.x86_64 #1 SMP Tue Sep 12 22:26:13 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

参考链接:https://lists.centos.org/pipermail/centos/2012-January/122428.html 

参考:https://blog.youkuaiyun.com/ouyang_peng/article/details/75146841
由于是64bit的系统,而Android sdk只有32bit的程序,需要安装ia32-libs,才能使用。

yum install glibc.i686

2.5 解决finished with non-zero exit value 127

sudo yum install libstdc++*
sudo yum install zlib*
sudo yum install libncurses*

2.5.1aapt” finished with non-zero exit value 127,原因 error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory
 

processDebugResources/server/android/build-tools/22.0.1/aapt: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory

 FAILED

FAILURE: Build failed with an exception.

参考:https://stackoverflow.com/questions/21256866/libz-so-1-cannot-open-shared-object-file

yum install zlib.i686

2.5.2解决问题 aapt” finished with non-zero exit value 127,原因 error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

 processDebugResources/usr/local/share/adt-bundle-linux-x86_64-20140702/sdk/build-tools/22.0.1/aapt: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

参考:https://blog.youkuaiyun.com/ouyang_peng/article/details/75146841

sudo yum install libstdc++.i686
sudo yum install libstdc++-devel.i686

小结:

这次Jenkins编译不过的原因,主要还是因为我的Center OS 服务器是64位的系统,而Android SDK只有32位的程序,需要安装32位相关的lib才能使用。然后一个一个lib的添加,直到能够成功编译为止。在编译失败的过程中,要认真分析到底哪里失败了,有时候Jenkins失败的表现是一样的,但是实际上失败的原因是不同的。

比如上面两次编译一直报Caused by: org.gradle.process.internal.ExecException: Process 'command '/server/android/build-tools/22.0.1/aapt'' finished with non-zero exit value 127,但是两次失败的原因不同,

一次是因为error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directorylibstdc++.so.6库找不到,

一次是因为error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directorylibz.so.1库找不到。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值