实用小技巧汇总
目录
Android git提交记录抓取
Android Java打印调用堆栈
ssh-copy-id命令(免密)
Android git提交记录抓取
repo forall -p -c "git log --grep=\(CTS\|STS\|GTS\|GTVS\|GSI\|VTS\|TVTS\) --extended-regexp --author="YOUR NAME" --since=2022-02-15" > logrz.txt在所有project中筛选:
1.提交信息中包含CTS STS等字样
2.提交人为指定人
3.过滤2022-02-15之后的提交
Android Java打印调用堆栈
Log.i(TAG, "", new Exception());
Android Native层打印调用堆栈
#include <utils/CallStack.h>
#include <utils/Log.h>
android::CallStack stack("BootAnimation1");
stack.update();
stack.log("BootAnimation");
shared_libs: [
"libutils",
"libcutils",
"libutilscallstack",
],
ssh-copy-id命令(免密)
其功能是用于将本地生成的SSH公钥信息复制到远程主机。通常情况下,先使用ssh-keygen命令生成出SSH密钥对文件,随后使用ssh-copy-id命令将公钥文件复制到远程主机上,这样操作后再进行远程SSH访问时将无需进行账号密码的口令验证,而是通过密钥方式登录。
常见用途:
- scp拷贝及ssh连接等无需再输入密码
- 使用vscode进行ssh远程连接修改代码。再也不用因为连接不稳定重复输入密码了(超好用)。
Android.bp中执行shell
由于github提交限制100MB大小,如果遇到某些文件超过100MB,我们可以将其分割成若干个小文件,然后在编译时还原。
split -b 99M libtest.so libgtest_part_
genrule { name: "test", srcs: ["libtest_part_*"], out: ["libtest.so"], cmd: "cat $(in) > $(out)", } cc_prebuilt_library_shared { name: "libtest", arch: { arm64: { srcs: [":test"], }, }, }srcs中的":"代表引用其它模块的输出文件。
动态更新SELinux
修改某个文件的SELinux 标签
chcon system_u:object_r:sys_rw_content_t:s0 example.txt
Android设备上修改selinux相关文件后,重启不生效,可执行如下命令
restorecon -Rv /path/to/directory
国外手机短信验证码:
https://sms-activate.org/getNumber
https://hero-sms.com/
