ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

实用小技巧汇总

实用小技巧汇总

目录

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访问时将无需进行账号密码的口令验证,而是通过密钥方式登录。

常见用途:

  1. scp拷贝及ssh连接等无需再输入密码
  2. 使用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/

返回列表