本文目录:
- 1、求助 阿里云ECS 可以运行安卓模拟器吗
- 2、元气骑士远程联机
- 3、APP使用HTTP2协议的一点小收获
- 4、阿里云系统能刷安卓吗???
求助 阿里云ECS 可以运行安卓模拟器吗
AndroidVirtualDeviceManager—Edit-勾上 Hardware keyboard present 和 Displaya skin with hardware controls 这样就可以了。 查看原帖
元气骑士远程联机
01
【准备工作】
要进行远程联机有几点你需要准备。
1、vpn
用来让两台android设备直接通讯,或者你可以用其他手段,只要你能让两台设备互相发送udp包就可以。我的方法是在自己的阿里云服务器上搭了一个openvpn。
2、一台获得root权限的android设备
由于元气骑士建连实现方式的原因,无法直接通过vpn连接成功,需要进行一个建连数据包的转发动作。目前我的方法是直接在内核层写了一个C程序进行数据包的转发。我不想把日常手机root,而有权限的旧手机也太久没用了,所以最后用的是夜神模拟器。
02
【操作步骤】
首先,打开虚拟机并连接vpn,连上你的vpn后看看自己的vpn地址,再要到对端的vpn地址就行。
03
夜神有自带的adb工具,虽然比正常的adb难用一些,不过如果你没有什么深入玩android中Linux层的东西的话,能够将就着先用。找到你的夜神安装路径,我的路径为“D:\Program Files\Nox\bin”。在cmd中进入这个路径,输入以下指令(我截图中由于我有配置环境变量所以没有进入该路径)。
记得adb shell的指令还需要敲入一个回车键。回车完之后如果出现上图的root@android:/ 证明成功,已经进入android系统的调试模式。注意,前面要是root才是开启root成功。
04
【拷入并执行转发程序】
先退出来,在上面的cmd命令栏中输入“exit”退出adb,或者新开一个cmd。输入下面指令,将转发文件导入系统。前面的是转发程序所在的路径,后面的是放入android里的路径。
05
出现下图中的输出代表成功。需要注意的是,这里用Push命令的时候要注意一点,我的proxy文件的路径中存在中文的话造成了传输的异常,好像不是一个必现的问题,但是最好还是不要让文件路径存在中文。
06
接着,进入该路径。
07
授予程序执行和权限 “chmod 777 udp_proxy_x86”。下面一行是启动指令,-d代表debug模式,23333是监听和目标端口,”10.8.0.10″地方请输入你要联机的对方的vpn的Ip地址。
08
【打开游戏,建立主机】
一定要在上面的转发程序启动后再开启主机,否则转发程序会启动失败。一切顺利的话adb里面会输出以下信息(当然,ip地址会不一样),这是接收到了建连广播包的信号。这时候让对方在多人游戏里面加入游戏,就可以看到你的主机信息了,也就可以联机了。
APP使用HTTP2协议的一点小收获
前几天提到网络连接和ssl握手延迟,想到SLB已经配置支持HTTP/2了,就想确认下:
curl —http2 -I
启用了阿里云的日志服务-SLB,protorl参数返回了HTTP/2
阿里云日志服务也是一个好东西,有点类似于ELK,本来高峰期间发现峰值流量比较大,原来有个接口size比较大,直接占了30%的流量,优化后一下清净了。
对于优化来说,应该挑大头来解决,同时也要关注细节。
HTTP/2好处:
多路复用,真正的并行请求
支持服务器端push
更小的header头,减少网络延迟
想证实客户端调用接口有没有走HTTP/2多路复用,由于服务器在SLB后面,走的是80端口,从服务器上抓包是看不出来了。
从前台选择使用wireshark抓取app HTTPS流量,遇到一个问题。
让同事在电脑装了个andriod模拟器(夜神多开器),可惜还是不能破解HTTPS流量,顺带温习了相关知识。
如果是RSA密钥交换,及时配置了私钥文件也不能解密;如果是DH密钥交换,模拟器不像浏览器支持SSLKEYLOGFILE变量,所以没法支持pre-master secret key解密方式。
总之目前没法看到具体的HTTP/2流量,具体参考。
不管是IOS还是Andriod都有网络框架,比如okhttp,原来那么强大:
HTTP/2 support allows all requests to the same host to share a socket.
Connection pooling reduces request latency (if HTTP/2 isn’t available).
Transparent GZIP shrinks download sizes.
Response caching avoids the network completely for repeat requests.
也就是说至少会维护连接池功能,这样对服务器的压力就减少了很多,网络层的消耗就可以忽略不计了,用户体验也提高了不少,如果能用到多路复用,那就更棒了。
关于重复请求的cache功能感觉也很有意思,后续可以研究研究。
和后端开发相比,APP开发模式是完全不一样的。
以前也写过一篇Fiddler解密HTTPS流量的文章,后面尝试看看,个人觉得能破解,但不能使用HTTP/2包,会降级为HTTP/1.1。
虽然不会开发APP,但还是希望有一种方式能够看到网络层的调用。
阿里云系统能刷安卓吗???
阿里云系统刷安卓的方法步骤如下:
1、 安装百度一键root手机版,获取root权限(需要鼠标操作)
2、 安装 安卓终端模拟器.apk
3、复制 flash_image、misc.img、recovery.img 到 SD卡的FlashToAndroid目录
(复制到根目录或其他目录也可以,相应的在终端模拟器中输入的路径也需要相应修改。)
下面以FlashToAndroid目录演示。
4、确定SD卡在盒子上的路径(如果知道SD的路径,这个步骤可以不用做)
安装RootExplorer,进入查看
确认我的SD在盒子上的路径是:/mnt/external_sd (注意,区分大小写)
5、 打开 终端模拟器(需要键盘操作)
a. 在终端模拟器中获取root权限
输入:su
(允许获取 root 权限)
b. 复制 flash_image 文件到 /data 目录下
输入:cp/mnt/external_sd/FlashToAndroid/flash_image/data
c. 赋予 /data/flash_image 最高权限,包括执行权限
输入:chmod 777/data/flash_image
d. 用 flash_image 程序刷入 misc.img 到 misc 中
输入:/data/flash_imagemisc /mnt/external_sd/FlashToAndroid/misc.img
e. 用 flash_image 程序 刷入 recovery.img 到 recovery,恢复安卓的 Recovery
输入:/data/flash_imagerecovery /mnt/external_sd/FlashToAndroid/recovery.img
f. 重启至Recovery查看
输入:rebootrecovery
重启至Recovery查看,原先熟悉的REC机器人界面是不是出来了,嘿嘿
6、双清(这个步骤可以不做,但最好做一下。)
选择到 Wipedata/factory reset 和 Wipe cache partition 去双清。
7、将1.0.8版的img固件命名为 update.img, 复制到SD卡的根目录,插入盒子SD卡槽,重启盒子,盒子自动刷入 1.0.8 版系统
8、 将zip固件升级包复制到SD卡根目录,命名为 update.zip。将SD卡插入盒子的SD卡槽,等待一会后,会提示升级
本文来源:https://www.yuntue.com/post/80432.html | 云服务器网,转载请注明出处!

微信扫一扫打赏
支付宝扫一扫打赏