跳到内容

2017年03月12日

2

CentOS编译小飞机R(粉色界面改颜色)

作者:Warm​Color

应小伙伴要求给小飞机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:

  1. I am using sbt 0.13.8
  2. Getting org.scala-sbt sbt 0.13.8 …
  3. I have got this line hanging for some time – between 5 to 10 minutes.
  4. 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

【尼玛,我博客不会因为这篇给墙了吧】

打赏

原文链接: http://blog.warmcolor.net/?p=4820
转载本站文章请注明,转载自:温暖色调[ http://blog.warmcolor.net ]
本作品采用: 知识共享许可协议 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可.

2 条评论 发表评论
  1. WTZ
    2017年04月13日

    github项目的地址貌似有点问题吧?

    回复
    • 2017年05月2日

      我把敏感词换成飞机了,中间划掉的是我搞错了,无视就行…

      回复

发表评论

主要:允许使用HTML代码,你的邮箱信息不会被公开。

订阅评论

*必填
*必填