CentOS编译小飞机R(粉色界面改颜色)
应小伙伴要求给小飞机R改个颜色,从来没搞过,撸起袖子干。
主机为Win10,使用自带的Hyper-V虚拟机,建立二带虚拟机据说性能好一些,关闭安全启动不然无法从ISO文件启动,虚拟机中最小安装,安装CentOS-7-x86_64-Minimal-1611,CentOS具体安装步骤不详细说明,因为我是最小安装,你们照我这篇来搞应该不会缺失什么库之类的,装完更新一下系统:
yum install epel-release -y yum update -y yum upgrade -y
安装jdk 1.8.0:
yum install java-1.8.0-openjdk.x86_64 yum install java-1.8.0-openjdk-devel.x86_64
配置java环境变量,在/etc/profile 尾部追加:
#set java environment JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64 JRE_HOME=$JAVA_HOME/jre CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin export JAVA_HOME JRE_HOME CLASS_PATH PATH
应用环境变量:
source /etc/profile
然后运行一下java和javac看看有输出不报错就可以了,自己新建一个目录,把小飞机R源码从github上拖下来:
git clone https://github.com/小飞机R/小飞机R-android.git
拖下来之后进到目录里面下载一下依赖库:
git submodule update --init
下载如果出错则虚拟机需要出墙,再把ssr客户端的源码拖下来:
git clone https://github.com/小飞机R/小飞机R.git
配置什么的不说了,见这里:
https://github.com/小飞机R/小飞机R/tree/manyuser
如果使用chacha20,报错提示“install python-setuptools”,还要安装libsodium:
yum install libsodium
完事还是不行,报错提示“ImportError: No module named cymysql”,还要安装cymysql:
pip install cymysql
完事还是不行,提示报错“pip: command not found”,还要安装pip:
easy_install pip
完事还是不行,提示报错“easy_install: command not found”,还要安装python-setuptools:
yum install python-setuptools
然后再把上边重复一遍就好了,如果还报错“Can’t connect to MySQL server on u’127.0.0.1′ (111)”,那是你用成数据库版了,进子目录运行单用户版。
这里需要从墙外获取文件,下载如果出错需要出墙, git自带了sock5代理功能,由于我是在虚拟机上建的CentOS,然后我再主机上有SSR,我在主机的SSR上打开本地代理,允许来自局域网的链接,直接给虚拟机使用就行了,不用在虚拟机中单独配置一个SSR,懒得配主机防火墙规则了,直接关闭Windows防火墙,反正下载完就不用了,再把防火墙打开:
git config --global http.proxy 'socks5://主机IP:1080' git config --global https.proxy 'socks5://主机IP:1080'
顺道把CentOS的防火墙也关了:
systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
配置SBT 0.13:
curl https://bintray.com/sbt/rpm/rpm > bintray-sbt-rpm.repo mv bintray-sbt-rpm.repo /etc/yum.repos.d/ yum install sbt
第一次运行sbt超慢,卡在“Getting org.scala-sbt sbt 0.13.13 …”,看日志其实后台在下载东西:
tail -f $HOME/.sbt/boot/update.log
关于这一段,我在网上看到解决方案的时候直接喷了:
This is quite old post and my answer may not be completely relevant. But here is my experience:
- I am using sbt 0.13.8
- Getting org.scala-sbt sbt 0.13.8 …
- I have got this line hanging for some time – between 5 to 10 minutes.
- And then it started to download stuff.
So my solution is that you have to wait a bit.
下面的回复也超搞笑:
Thanks! I was “waiting” while looking up the problem and reading this page. Now I checked the window again, and it’s downloading all the jars… sloooowwwlllyyyy 🙂
等了快半个钟终于有反应了……
然后下载android SDK 25,使用curl加代理:
curl -x sock5://主机IP:1080 -O https://dl.google.com/android/repository/tools_r25.2.3-linux.zip
然后配置sdk环境变量,在/etc/profile 尾部追加:
#set android environment ANDROID_HOME=/root/android_home PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools export ANDROID_HOME PATH
使之生效:
source /etc/profile
更新sdk:
android update sdk --no-ui
更新的同时不闲着,下载配置ndk和一些运行库:
yum install -y glibc.i686 zlib.i686 libstdc++.i686 curl -x sock5://主机IP:1080 -O https://dl.google.com/android/repository/android-ndk-r13b-linux-x86_64.zip
然后配置ndk环境变量,在/etc/profile 尾部追加:
ANDROID_NDK_HOME=/root/android_home/android-ndk-r13b export ANDROID_NDK_HOME
使之生效:
source /etc/profile
然后生成自己的key:
keytool -genkey -v -keystore xxxx.jks -keyalg RSA -keysize 2048 -validity 10000 -alias xxxx
剩下的根据github上的说明进行操作,前面有些设置环境变量或者文件位置目录的,你们根据自己的进行设置。
git submodule update –init
# Build native binaries
./build.sh# Build the apk
sbt clean android:package-release
【尼玛,我博客不会因为这篇给墙了吧】
原文链接:
https://blog.warmcolor.net/?p=4820
转载本站文章请注明,转载自:温暖色调[
https://blog.warmcolor.net ]
本作品采用:
知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可.
github项目的地址貌似有点问题吧?
我把敏感词换成飞机了,中间划掉的是我搞错了,无视就行…