记一次linux上部署android环境相关命令(代码片段)

Alex_MaHao Alex_MaHao     2022-12-30     147

关键词:

服务器链接

  • ssh android@192.168.xxxx :  链接远程服务器,@前表示用户名,@后表示服务器ip地址,之后会弹出输入密码相关选项。
  • scp xx.apk android@192.168.xxxx:/home/android/ :传输文件,第一个参数为源文件,后跟服务器地址路径,服务器地址和目录以:隔开

挂载磁盘

  • df -h:查看磁盘挂则和使用情况
root@localhost project $ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        20G   19G   17M 100% /
tmpfs           3.9G     0  3.9G   0% /dev/shm
/dev/sdb        493G  155M  467G   1% /opt

  • umount /opt:解除/opt节点下的磁盘挂载
  • mount /dev/sdb /home:挂载到/home目录下。

用户创建和分组

  • adduser android:添加一个android用户,该命令同时会创建用户目录home/android/
  • passwd android:修改android用户密码,修改时如果密码简单会有相应提示但可以忽略。
  • groupadd developer :创建一个developer的分组。
  • usermode -g developer android:修改android用户的组别到developer,之前使用android用户创建的文件,组别保留不变,需要手动修改到developer
  • groups android:查看android用户所在的组
  • chown -R android:developer project:修改project目录所属的用户和所属的组。-R表示递归设置,会遍历project下的所有文件。

删除用户

  • userdel test:删除test用户
  • rm -rf /var/spool/mail/test /home/test:删除参与文件

git安装

因为使用的RedHat,git版本老旧,所以需要收到安装git

  • yum remove git:删除系统中老旧的git
  • yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel : 安装依赖
  • cd /home/android/android-dev/:切换到指定目录
  • wget https://www.kernel.org/pub/software/scm/git/git-2.7.4.tar.gz:下载对应版本源码。
  • tar zxvf git-2.7.4.tar.gz:解压源码
  • cd git-2.7.4:进入到解压的源码目录
  • make configure:编译源码
  • make prefix=/usr/local/git install:安装源码
  • echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/profile:配置环境变量,添加git命令到系统
  • source /etc/profile:刷新系统配置。

配置git命令行提示(自动补全)

配置完git环境变量之后,在命令行输入时,没有git对应的命令行提示。此时需要添加如下配置:

  • github上的git源码中下载git-completion.bashgit-prompt.sh,源码地址https://github.com/git/git
  • 将下载的文件移动到/etc/profile.d/目录下并修改文件名git-completion.bashgit-completion.sh
  • 在该目录下创建git.sh文件,并添加如下内容:
export GIT_PS1_SHOWDIRTYSTATE=1
export GIT_PS1_SHOWSTASHSTATE=1
export GIT_PS1_SHOWUNTRACKEDFILES=1
export GIT_PS1_SHOWUPSTREAM="verbose git svn"
PS1='\\[\\033[1;32m\\]\\u@\\h \\[\\033[1;34m\\]\\W\\[\\033[1;31m\\]$(__git_ps1 " (%s)")\\[\\033[1;35m\\] $ \\[\\033[0m\\]'

###JDK环境和Gradle环境

只需要下载对应压缩包并配置环境变量即可

配置Android SDK

下载对应的sdk并解压并配置环境变量即可

更新命令

因为linux无界面,所以更新sdk需要以命令的方式:

  • android list sdk --all : 显示所有可下载的sdk。--all省略则显示当前可以更新的。
    -android update sdk -u -a -t 192-t指定更新的序号,由上面的命令获取。-u表示非UI显示,-a表示序号是基于全部的 。

升级glibc-2.14

编译android项目时,报错如下错误:

/usr/local/share/adt-bundle-linux-x86_64-20140702/sdk/build-tools/25.0.3/aapt: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /usr/local/share/adt-bundle-linux-x86_64-20140702/sdk/build-tools/25.0.3/aapt)

/usr/local/share/adt-bundle-linux-x86_64-20140702/sdk/build-tools/25.0.3/aapt: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /usr/local/share/adt-bundle-linux-x86_64-20140702/sdk/build-tools/25.0.3/lib64/libc++.so)

含义时缺少GLIBC_2.14

  • strings /lib64/libc.so.6 |grep GLIBC:查看当前glibc支持的版本。

下载

  • wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz:下载对应版本

安装

  • tar -zxvf glibc-2.14.tar.gz
  • cd glibc-2.14 | make build | cd build
  • ../configure profix=/opt/glibc-2.14
  • make -j4
  • make install

配置软链

  • rm -rf /lib64/libc.so.6 : 删除之前的链接,删除之后,系统的一些命令会无法使用。

  • LD_PRELOAD=/opt/glibc-2.14/lib/libc-2.14.so ln -s /opt/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6 : 设置软链指向最新版本

  • LD_PRELOAD=/lib64/libc-2.12.so ln -s /lib64/libc-2.12.so /lib64/libc.so.6 // libc-2.12.so:恢复之前系统的设置

其他

  • mv git-completion.bash git-completion.shmv既可以移动文件,也可以修改文件名。
  • !820history后可以通过指定行号的方式快捷调用代码。
  • source /etc/profile <==> . /etc/profile.等价于source

记一次项目部署经历

昨天接到任务,需要在一台新机器上部署一个用springboot搭建的项目,我一想,不就是个部署,soeasy,愉快地开始干~按部就班配置好application.yml,执行启动脚本,一看进程,诶,没有进程啊,怎么回事再来一遍,还是没有,一脸... 查看详情

记一次flannel网络调整

参考技术A最近给一个子公司部署一套k8s集群,集群搭建完之后有几个新需求需要新增几个node节点,在新增节点时发现添加失败,经过查询发现是网络规划问题导致。flannel启动失败,报错信息如下:Errorregisteringnetwork:failedtoacquire... 查看详情

zabbix记一次简单的部署包方式安装一次过

zabbix记一次简单的部署包方式安装一次过记一次部署包方式安装一次过环境centos7zabbix3.2.11准备工作关闭防火墙systemctlstopfirewalldsystemctldisablefirewalld关闭selinuxvi/etc/selinux/configSELINUX=enforcing改为SELINUX=disabled或者sed-i‘s/SELINUX=.*/SE 查看详情

记一次趋势ds_for_vm_nsx环境的部署(惨痛回忆)

客户虚拟化版本VMware-NSX-Manager-6.3.2-5672532.ovaVMware-VCSA-all-6.5.0-5705665.isoVMware-VMvisor-Installer-201704001-5310538.x86_64.iso 安装DS,在NSX里部署gi和dsva,安装完后都没问题,安装参考文档”DS9.6部署.pptx”最初是客户要求dsva能不能从共 查看详情

记一次虚拟化环境下windowsio性能的解析

前言随着云计算技术与服务的发展和进步,越来越多的客户选择将业务部署到云端。但由于引入了虚拟化层,在业务部署过程中经常会遇到IO问题,通常也不易调试。本文主要介绍利用perf、systemtap等工具,帮助一位托管云客户调... 查看详情

记一次winserver2012部署问题及解决方法

1、前言  本章内容为在winserver2012服务器部署时遇到的问题及解决方法。大致工作为:两台服务器,一台web、一台数据库;web服务器部署.netweb程序,数据库服务器安装oracle11g。2、问题及解决1、HTTP Error 500.19 -&nb... 查看详情

记一次线上事故(代码片段)

1.事故发生某天晚上,收到系统CPU占用过高报警,立刻登录服务器查看cpu信息(top,命令即可),此时CPU占用率高达750%+,查看GC日志,频繁的发生FullGC,并且一次FullGC市场可达到6s,立刻使用jmap命令dump文件(命令:jmap-dump:file=heap.bin... 查看详情

记一次signalr的部署错误问题(代码片段)

前不久的工作中,需要集成signalr和vue实现一个消息推送的前端展示页面,集成倒是很顺利,nuget和npm就解决了问题,但接下来的部署上遇到了几个问题,需要记录一下:问题1:集成了redis缓存链接,在部署时未安装redis,导致sign... 查看详情

记一次ruby的安装

1,下载rubyinstall安装包及devkit包  登陆网站:http://rubyinstaller.org/downloads/ 安装rubyinstall包时添加到环境变量2,安装完install包后,打开命令行  查看是否成功安装3,安装devkit,安装完后,命令行进入安装目录初始化config.y... 查看详情

记一次项目部署中遇到的问题

今天在腾讯服务器上部署公司的项目,遇到了很多的问题,简直可以用一波未平一波又起来形容。记录一下,怕自己忘记,顺便也帮助跟我遇到同样问题的人。项目使用VS2010.MVC3.0开发,服务器的操作系统是Windowsserver2008,下面我... 查看详情

记一次线上cpu100%排查过程(代码片段)

  引言不知道在大家面试中,有没有遇到这个问题:生产服务器上部署了几个java程序,突然出现了CPU100%的异常告警,你如何定位出问题呢?这个问题分为两版回答!高调版对不起,我是做研发的,这个问题在生产上是不... 查看详情

服务器环境部署

...自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装;apt是一个命令行实用程序,用于在Ubuntu、Debian和相关Linux发行版上安装、更新、删除和管理deb软件包;pip是一... 查看详情

记一次k8s集群节点镜像存储容量报警问题

参考技术A自从我们的kubernetes集群部署到生产环境后,将流量从原有的服务器上切过来之后,部分节点出现挂载目录容量爆满的情况。运维的同事报给我们之后,我们首先想到的是节点镜像过多,于是我们提供一个命令用于清理... 查看详情

记一次内存溢出查找的问题

情景:今天测试环境发现应用出现内存溢出的问题。这是从来没有出现过的问题,在关闭此次版本新上线的功能后仍发现Perm区的内存持续在增长。jdk版本:1.7环境:linux======================================================起因:测试环境出... 查看详情

记一次无法进入桌面环境(代码片段)

今天,我突然想在U盘上装个Linux系统,可以随身携带,十分方便。经过一通斟酌之后,我选择了ArchLinux。安装过程都被写烂了,这里就贴几条链接以及说一下注意事项。https://wiki.archlinux.org/index.php/Installation_guide_(简体中文)Arch官... 查看详情

记一次生产环境nginx图片上传不了的问题(代码片段)

在server节点目录下配置:client_max_body_size8M;client_body_buffer_size8M;不过还是不能上传就执行下面这条命令:cd/var/lib/nginx/chmod-R775nginx/  查看详情

记一次定时任务没有执行的原因

今天发现线上一台服务器某个定时任务没有执行,然后就纳闷了,线上服务器环境全部是用ansible统一部署的,其他服务器的定时任务都没有问题,然后就再想是否是这台服务器的crontab有问题了,于是在定时任务中编写如下所示... 查看详情

记一次rm-rf/*恢复事件

记一次rm-rf/*恢复事件事因分析解决思考事因同事拿到服务器,部署项目。边部署边跟另一同事笑着说来学linux不知怎么聊到了rm-rf指令,边聊边笑着敲下了rm-rf/*并敲下了回车…分析还好同事及时发现不对劲ctrl+c中断操... 查看详情