VMWare中的Ubuntu虚拟机当初创建时只分配了20G硬盘,结果现在硬盘爆满了,记得VMWare可以加硬盘的,所以给它加了一块虚拟硬盘,记录一下过程。
- 添加虚拟硬盘
VM关机,在“编辑虚拟机设置” 中“硬件”给虚拟机实例添加一块硬盘。
- 开机进入Ubuntu(这里是root身份登录,所以命令没有加sudo)
查看所有的硬盘,其中 /dev/sdb
是我们的第二块硬盘。
VMWare中的Ubuntu虚拟机当初创建时只分配了20G硬盘,结果现在硬盘爆满了,记得VMWare可以加硬盘的,所以给它加了一块虚拟硬盘,记录一下过程。
VM关机,在“编辑虚拟机设置” 中“硬件”给虚拟机实例添加一块硬盘。
查看所有的硬盘,其中 /dev/sdb
是我们的第二块硬盘。
很简单,将虚拟机关机,在菜单栏“启动”绿色按钮旁边的更多三角形按钮,可以看到最底下有一个选项“打开电源时进入固件”,点击就可以进入BIOS啦。
国内 git clone
github上的仓库一直不快,但现在很慢,经常超时,发现一个镜像加速站点: github.com.cnpmjs.org
。
如:
1 | $ git clone https://github.com/bilibili/ijkplayer.git |
速度体验符合预期!!!
而且 github.com.cnpmjs.org 也可以网页浏览,但不可以登录。
Ubuntu下安装配置Android命令行编译环境,用于Jenkins编译项目和NDK编译第三方so库。
/usr/local/androidsdk
cmdline-tools
1 | $ cd cmdline-tools/ |
https://github.com/latelee/H264BSAnalyzer 是一个Win程序,用于分享H264文件,已有打包好exe的文件。
打开一个H264文件,如图
可以看到这个软件已经把每一个Nal解析为一行一行的,H264文件就是以Nal为单位。
一个H264文件,开头的是SPS和PPS,SEI可有可无,然后就是I帧,再就P帧或者B帧。
每一帧都会有一个start code,H264BSAnalyzer 是将 00 00 00 01
+ FNRIType(第一个字节)
作为 start code 。
Ubuntu直接下载deb包 ,用 dpkg -i
安装。
注:Ubuntu或者其他版本的linux,也可以下载Linux Static Builds 可执行文件 , 放在
/usr/bin
目录下,修改权限为可执行(777)即可。
1 | sudo add-apt-repository ppa:mc3man/trusty-media |
在做Android 系统OTA升级App时,需要在 ‘/cache
‘ 目录创建目录和脚本文件,App已经获取到system权限(安装到 /system/priv-app
目录),但是还是在/cache
目录下没有权限。
通过 adb
命令,用system身份执行命令都没有任何问题。
升级命令脚本是:
1 | "mkdir /cache/recovery" |
但建议调用Android的接口 RecoverySystem.installPackage(this,new File("/data/update.zip"));
执行(也是差不多这些命令)
用Android Studio 3.5创建了JKS证书,提示以下警告:
1 | JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore D:\demo\project\app\key.jks -destkeystore D:\demo\project\app\key.jks -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。 |
按照上面的提示,执行命令:
1 | $ keytool -importkeystore -srckeystore D:\\demo\\project\\app\\key.jks -destkeystore D:\\demo\\project\\app\\key.jks -deststoretype pkcs12 |
/drawable/start.xml
1 | <animation-list xmlns:android="http://schemas.android.com/apk/res/android" |
android:oneshot=”false” 表示一直播放(循环)
设置为background
1 | <ImageView |
一直都是这样启动一个带返回结果的Activity
1 | val intent = Intent(this, VideoPlaybackListPPCSActivity::class.java).apply { |
1 | //初始化不能在按键事件等地方执行,建议在onCreate执行 |
请尽量使用:NotificationCompat 及其子类,以及 NotificationManagerCompat。
这样一来,您就无需编写条件代码来检查 API 级别,因为这些 API 会为您代劳。
但是要注意 NotificationManagerCompat 不能创建Android8.0以上所需要的Channel,创建Channel还是需要用NotificationManager。
1 | String channelId = "news"; |
但这个通知在Android8.0不能发出去,因为8.0规定必须将单个通知放入特定Channel中。
2020年3月17日 JDK 14
发布,非 LTS 版本。
新特性: http://openjdk.java.net/projects/jdk/14/
中文
记录通过命令行备份和恢复的过程
1 | $ mongo |
这里备份了两个数据库,分别在两个目录下。
这里是将两个目录迁移到另外一个服务器,执行以下操作:
忘记管理员密码对于创建数据库等操作会有影响,本文基于Mongo v3.4.10将做一次处理这个问题的示例,整体方向就是删除所有的管理员用户,重新创建。
关闭mongod的认证
1 | #security: |
重启mongod
1 | $ service mongod restart |
登录mongo命令行,删除所有admim数据库中的账号
1 | $ mongo |
创建超级管理员root
1 | > db.createUser({user:'root',pwd:'123456',roles:[{"role":"root","db":"admin"}]}) |
验证root密码
1 | > db.auth('root','123456') |
创建一个示例数据库:testdb
1 | > use testdb |
为示例数据库:testdb 创建一个可读写的用户
1 | > db.createUser({user:'testuser',pwd:'123456',roles:[{"role":"readWrite","db":"testdb"}]}) |
认证
1 | > db.auth('testuser','123456') |
在testdb的col(collection)插入一条数据(不然不会创建数据库)
1 | > db.col.insert({'test':'123'}) |
开启认证
去掉注释,重启mongod
1 | security:authorization: enabled |
与mongo同一台机器安装adminMongo
1 | $ git clone https://github.com/mrvautin/adminMongo.git |
IP:port 访问adminMongo,密码是app.json中设置的密码
adminMongo 用超级用户创建连接
1 | mongodb://root:123456@127.0.0.1:27017 |
在adminMongo中试一下创建数据库,为数据库创建用户等操作,完成。
Android原版系统,连接的WiFi是正常的,但显示“不可访问互联网”,应该检查某个域名发现无法访问。
如果觉得看着别扭,可以通过以下命令修复,给它改一个域名来检查。
1 | adb shell settings put global captive_portal_use_https 1 |
最后重启手机就没有显示“不可访问互联网”啦!
1 | # 解锁 |
想要刷ROM,解BL锁时第一步:
fastboot flashing unlock
命令解锁 (需要有platform-tools才能运行fastboot)fastboot reboot
Genymotion模拟器下载的虚拟机默认是在C盘,如果要修改虚拟机的路径,在设置里修改即可,但是先存的虚拟机genymotion不会帮你移动。
我们手动移动虚拟机,比如移动到D盘,那这些的虚拟机都失效了,Genymotion并不支持导入。
修改 C:\Users\用户名.VirtualBox\VirtualBox.xml 文件 :
1 | <MachineRegistry> |
将路径改正确即可,如果不小心删掉了,也可以在xml里面增加一个item,按照他的格式来写,其中uuid在虚拟机的vbox文件里面可以找到。