文章目录
  1. Linux(Ubuntu)
    1. ssh 登录远程机器
    2. scp 远程机器与本地进行文件复制传输
    3. crontab 定时任务
    4. awk 强大的文本分析工具
    5. 时间同步
    6. Virtual Box 调整磁盘大小
  2. Android
    1. monkey 随机测试工具
    2. 内存泄漏检查
    3. NDK开发时,std::string显示不全问题

Linux(Ubuntu),Android日常工作碎碎念

此篇文章仅用于记录一些在使用Linux进行日常工作过程中,比较有用,能提高效率或解决问题的知识点,技术点.写大篇幅觉得浪费,不写又容易忘记.于是统一记录到此碎碎念中.

Linux(Ubuntu)

ssh 登录远程机器

1
$ ssh username@192.168.1.2

scp 远程机器与本地进行文件复制传输

1
$ scp

crontab 定时任务

1
2
$ crontab -e # 编辑定时任务
$ crontab -l # 列出当前任务

awk 强大的文本分析工具

使用方法

1
2
3
4
5
6
7
8
9
10
11
$ awk '{pattern + action}' {filenames}
$ awk '{print $1}'
# 例如
$ echo "text1 text2 text3" | awk '{print $0}'
# 输出
$ text1 text2 text3
$ echo "text1 text2 text3" | awk '{print $2}'
# 输出
$ text1

awk甚至可以使用条件判断,循环,变量等完成工作.更详情的内容可自行搜索

时间同步

在使用crontab之前,首先要保证本机的时间正确.最简单的办法是直接与网络时间服务器同步一下即可.
常用服务器如下:

  • 中国国家授时中心:210.72.145.44
  • NTP服务器(上海) :ntp.api.bz
    1
    $ sudo ntpdate -u ntp.api.bz

如果没有网络,则可以通过date命令自己手动调整时间

Virtual Box 调整磁盘大小

1
$ vboxmanage modifyhd xxx.vid --resize size_in_mb

例如希望将磁盘大小修改为100G

1
$ vboxmanage modifyhd ubuntu.vid --resize 102400

调整好磁盘大小好,还需要进入系统调整分区大小,否则新增加的空间依旧无法使用
Windows 可以采用自带的分区工具,
Linux 系列则可以使用 GParted 工具进行分区,如果是非图形界面,则考虑采用 Linux 安装盘进入图形界面进行分区。当然如果比较厉害,那么请使用 fdisk 及 resize2fs 进行分区 =。=

Android

monkey 随机测试工具

每一次发布版本或者提交功能前,使用monkey经常可以跑出一些潜在的问题,非常有用.

1
2
3
4
5
6
7
8
9
# 启动, 将$packagename改成自己的应用包名即可.
# 最后一句报告输出可不要,默认输出在终端上,默认报异常时结束
$ adb shell monkey -p $packagename -v --throttle 25 -s $seed $count --bugreport $logdir/report.log
# 停止
# 采用kill掉进程的方式.
# 先查看monkey在设备上的进程号,然后kill掉设备上对应的进程号$pid即可
$ adb shell ps | grep monkey
$ adb shell kill $pid

结合前面提到的awk命令,组合一下可以写成一个脚本用于每次结束monkey时调用

1
2
3
#!/bin/bash
# monkey_stop.sh
adb shell kill `adb shell ps | grep monkey | awk '{print $2}'`

内存泄漏检查

多次打开APP,并退出后,调用以下命令,查看结果.
如果ViewsActivities的结果不为0,则说明存在内存泄漏情况.
需要结合Android Device MonitorLeakCanary进行排查

1
$ adb shell dumpsys meminfo $packagename

NDK开发时,std::string显示不全问题

在进行 NDK 开发的时候,当对std::string 变量进行Copy Value操作或者在 lldb 中进行 po 操作时
会发现,当字符串长度超过 300 个字符时,复制出来的字符串最后几位是...
出现这个问题其实是lldb的限制 300 个字符输出的限制,把这个重新设置一下就好。

在 Native Debug 状态下进行断点,然后切换到lldb 标签页,输入以下命令

1
$ set set target.max-string-summary-length 10000

然后运行至需要查看变量的代码行,这时候再Copy Value或者在lldb中进行po操作
拿到的字符串就是完整的了。

本文作者:JeremyHe
本文链接:http://www.alzz.me/posts/2016/06/06/15_nag_about-linux-ubuntu-android/
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

联系作者
微信。◕‿◕。