Android P适配

Android P行为变更 官网介绍: Android P 行为变更 0x1 刘海屏适配 如果没有刘海屏手机,可以在Andrid P 手机或者模拟器开发者模式>simulate display with a cutout。 刘海屏的适配分为下面三种情况: 1.有状态栏的页面,系统自动适配,不会受到刘海屏的影响。 2.全屏未适配刘海屏的页面,系统会对刘海屏区域进行切割,让整体 UI 页面做下移处理,避开刘海屏的显示。 3.全屏已适配刘海屏的页面,可以兼容刘海屏,做到真正的全屏显示。 这是一个没有适配的例子,闪屏页面整体向下了,并没有全屏。 # 适配方案 WindowManager.LayoutParams lp =getWindow().getAttributes(); lp.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_

阅读全文...

Pixel线刷Android P

下载刷机包 获取 Android P 推荐用迅雷下载,速度杠杠的! 目前只支持Pixel,Pixel XL, Pixel 2, Pixel 2XL 手机设置 前往「设置-关于手机-版本号」,猛击版本号 7 次开启「开发者选项」。 在开发者选项中开启「OEM 解锁」 # 手机会立即重启至 Bootloader 模式 adb reboot bootloader # 手机进入 Bootloader 解锁界面,使用音量键 +/- 来控制光标,选择「Yes」并按下电源键来进行 Bootloader 解锁 fastboot oem unlock 解压刷机包sailfish-xxxx.zip, 执行flash-all.sh等待刷机完成 参考文档 从 Bootloader

阅读全文...

jenkins携带参数远程构建

基础操作 jenkins远程构建配置请参考: jenkins远程触发配置(带参数), 需要注意的是携带参数是用http://host:8080/job/xxxx/buildWithParameters, 不带参数是http://host:8080/job/xxxx/build, 不然接收不到参数。 接收参数 开启参数化构建过程,输入参数名称(和url携带的参数一致), 不然接收不到参数 目前的url如下: http://host/job/xxxx/buildWithParameters?token=YOUR-TOKEN&appKey=ababababa 在命令下用$appKey就可以接收了 echo $appKey 如果你的浏览器已经登录过jenkins,输入上述网址就可以成功构建了。如果没登录或者命令行下就不行了,所以我们要输出登录信息过去。 curl请求并携带登录信息 curl -X POST http://host/job/xxxx/

阅读全文...

Centos部署Android自动打包

注意事项 服务器内存1G+, 编译Android占内存比较多,512M容易打满 Android SDK的下载路径都在google域名下,不确定是否能正常访问,亲测腾讯云可以。 安装Java环境 # 查看可用的jdk版本 yum search java|grep jdk # 注意区分OpenJDK Development Environment(JDK) 和 OpenJDK Runtime Environment(JRE), 编译Android选择 JDK # 安装jdk, 会自动配置环境变量 yum install java-1.8.0-openjdk-devel.i686 # 检测是否安装成功 java、javac、java -version 安装Jenkins sudo wget -O /etc/yum.repos.d/jenkins.repo

阅读全文...

Python调用C++库

0x1起因 python项目中涉及到其他加解密模块,但是都是用c++实现的,用python重新实现一套麻烦且难以维护,而python调用c++动态库也很方便, 所以有了本文 0x2编译动态库.so encryptrc.cpp #include <iostream> using namespace std; class TestLib { public: char* decrypt(char* input); }; char* TestLib::decrypt(char* input) { // 解密实现 } extern "C" { TestLib obj; char* decrypt(char* input) { return obj.display(input); } } 编译成动态库 g++ -o encryptrc.

阅读全文...

PHP自动部署关联git仓库下的代码

教程开始 # 进入根目录并执行下面命令生成公钥 ssh-keygen -t rsa -C "admin@xx.com" # 查看公钥并部署到git服务器上 cat ~/.ssh/id_rsa.pub # 创建git目录并设置用户, 例子为ghost, 完整目录为 /home/wwwroot/ghost chown -R www:www /home/wwwroot/ghost # 配置用户信息 sudo -Hu www git config --global credential.helper store # 永久保存 sudo -Hu www git config --global user.name "xxxx" sudo -Hu

阅读全文...

高性能PHP日志库SeasLog使用

官方介绍 PHP的有效,快速,稳定的日志扩展 项目地址 功能介绍 安装方式 # 先安装 PECL cd /usr/local/php/bin/ curl -o go-pear.php http://pear.php.net/go-pear.phar ./php go-pear.php # 回车, 会提示选择安装的东西, 直接回车, 安装全部, 若后面有要选择y/n的, 输入y回车 # 安装SeasLog pecl install seaslog # 重启nginx /etc/init.d/nginx restart 安装并重启完成后就能在phpinfo()看到seasLog信息了 使用 # 配置基础路径, 输出路径为 ~/logs/

阅读全文...

nginx日志过滤

nginx单条日志格式 61.135.169.92 - - [12/Mar/2018:17:24:45 +0800] "GET /changyan/version-v4.js?15208466853470.1961183244800202 HTTP/1.1" 200 2089 "http://www.apkfuns.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.

阅读全文...

Android性能优化总结

持续更新ing 性能优化主要几个方面 流畅性优化 内存优化 CPU 优化 稳定性优化 安装包优化 流畅性 人眼和大脑之间的协作能感受到的最大帧率就是每秒 60 Fps 画面更新,那么要求每一帧的绘制时间就是 1000/60 = 16.67ms,所以Android系统要求每一帧尽可能在 16ms 内绘制完成 怎么看帧率? adb shell dumpsys gfxinfo "com.baidu.hi.debug" // 或者 开发者模式 > GUP 呈现模式分析 > 屏幕上显示条形图 屏幕下方的柱状图每一根代表一帧,其高度表示“渲染这一帧耗时”, 绿线代表16ms标准。每一帧的渲染过程拆分成了8个步骤: 1) Swap Buffers:表示处理任务的时间,也可以说是CPU等待GPU完成任务的时间,线条越高,表示GPU做的事情越多; 2)

阅读全文...