因为公司使用的Ubuntu 18.04自带的桌面系统是 GNOME,个人来说非常不喜欢这个UI, 故自己更换了一个Xubuntu的桌面系统,这个桌面系统使用的kde的构件,仿佛一个 复古的debian。
在使用的过程中,也没有什么觉得不好的地方,然而在准备开会的时候发现了一个 问题,声音无法被pc拾取,这一定是哪有有问题。
经过摸索,今天终于搞定了声音输入(input)。
使用这个util打开声音设置系统,选择Input(I)[输入设置], Monitor of 内置音频 模拟立体声保持默认设置, 保持不变。
关键在于第二个选项设置,内置音频 模拟立体声, port 选择话筒(plugged in), 显示选择(ALL Input Devices), 我的机器上这个时候还不能输入声音,接着要调试 上面带锁(锁定声道):, 多试几次就好了.
目前,公司配的是vscode,感觉还不错,所以这里记录一下vscode快捷键的用法,以提高 工作效率。当然,和vim类似,这些都是可配置的,比如这篇文章 第一个答案就是自己配置json文件到达相同的效果。
这种情况就是当你在一个大项目中,比如aosp中,关闭了一个当前的文件,但是你后悔了,一般的情况是去
左侧的文件浏览区去一个一个展开查找,现在的一个快捷方式(window)就是: Ctrl + Shift + T
Shortcut is Ctrl + x
在不用vim插件的情况下,可以试试这个插件: line-jumper by alekseychaikovsky. 我试了一下,还不如vim的好用。用vim插件吧。
string = "...ntrace-cms-checkjni-picimage-ndebuggable-no-jvmti-cdex-fast-1001-app-image-regions64"
假设我想提取1001这个数字,咋么办? 根据re可以暂时使用
(?<=...)
m = re.search(r'(?<=-)\d+', string)
print(m.group(0))
# r'(?<=-)\w+' 可以 m = re.search(r'(?<=-)\w+', 'spam-egg')
print(m.group(0))
# print egg
随着对git的使用逐渐加重,我发现了一些更有意思的问题,冲突变得更加频繁了,嗯,可以 很好的解决这个问题。
无论什么样的冲突,请记住一个模型,LOACL BASE REMOTE这三个分支,冲突基本就是围绕这三 个分支进行。
mkdir git
cd git
git init
vi test.txt // cat test.txt
# cat
# dog
# vimer_dev_tmp
# fix_tmp
save file.
vimer@host:~/test/git$ git add test.txt
vimer@host:~/test/git$ git commit -m "Initial commit"
[master (根提交) 30a7bea] Initial commit
1 file changed, 5 insertions(+)
create mode 100644 test.txt
vimer@host:~/test/git$ git branch
* master
然后checkout fix_dev分支:
vimer@host:~/test/git$ git checkout -b fix_dev
切换到一个新分支 'fix_dev'
vimer@host:~/test/git$ vim test.txt
vimer@host:~/test/git$ # change txt
修改 “fix_tmp” 成为”fix_into_master”.
vimer@host:~/test/git$ git add test.txt
vimer@host:~/test/git$ git commit -m "change fix_dev into fix_into_master"
[fix_dev 0cbd8fb] change fix_dev into fix_into_master
1 file changed, 1 insertion(+), 1 deletion(-)
txt的内容为:
vimer@host:~/test/git$ cat test.txt
cat
dog
vimer_dev_tmp
fix_into_master
切换到master分支做以下修改:
vimer@host:~/test/git$ git checkout master
切换到分支 'master'
vimer@host:~/test/git$ vim test.txt
vimer@host:~/test/git$ git add test.txt
vimer@host:~/test/git$ git commit -m "change vimer_dev into vimer_master"
[master d31bb54] change vimer_dev into vimer_master
1 file changed, 1 insertion(+), 1 deletion(-)
txt的内容为:
vimer@host:~/test/git$ cat test.txt
cat
dog
vimer_master
fix_tmp
将”vimer_dev_tmp”改成”vimer_master”,下面进行合并:
vimer@host:~/test/git$ git merge fix_dev
自动合并 test.txt
冲突(内容):合并冲突于 test.txt
自动合并失败,修正冲突然后提交修正的结果。
下面可以使用 vimdiff 命令解决这个问题。git mergetool -t vimdiff
可以看这个教程
这个解释来自于SO.
这四个buffer窗口其实是一个文件的四个不同views. 左上角的那个标有LOCAL tag的是你要打算merge into的文件: 没有办法截图很麻烦.
cat
dog
vimer_master
fix_tmp
其中,前两行没有颜色标注,说明没有冲突, 因为,我在master分支上使用命令:
git merge fix_dev
那么我master的文件就是LOCAL tag(如果不正确请指正), vimer_dev的文件就是REMOTE tag,位于右上角的窗口,其内容为:
cat
dog
vimer_dev_tmp
fix_into_master
而上层中间的窗口则是原来的文件, 也就是两个branch没有改动之前的内容:
cat
dog
vimer_dev_tmp
fix_tmp
最下面的窗口叫做MERGED窗口:
cat
dog
<<<<<<< HEAD
vimer_master
fix_tmp
||||||| merged common ancestors
vimer_dev_tmp
fix_tmp
=======
vimer_dev_tmp
fix_into_master
>>>>>>> fix_dev
通过前面的分析也了解了,<<<<<<< HEAD
与 |||||||
之间的是目前分支上的内容, master上的。
而=======
与>>>>>>>
之间的内容是你要merge分支的内容, 也就是REMOTE窗口的内容,按照本意,
我们应该合并fix_dev分支的内容, 故可以把REMOTE标签之间的内容保留。方法是在MERGED文件中, 手工
删除以上两种标签内的内容及标签。
还可以使用下面的内容,:diffg RE
上面的操作是在 MERGED 文件中使用命令全部保留:
:diffget RE // 或者
:diffg RE " get from REMOTE
:diffg BA " get from BASE
:diffg LO " get from LOCAL
关闭所有vim窗口使用:wqa
.
解决以上问题虽然冲突解决了,但是这个过程并没有完成,需要
git merge --continue # or
git rebase --continue
请忽略我在merge文件时个人的喜好, rebase与merge的用法还是有一点区别的。可以参观这个the
dex2oat是一个编译器。首先,由之前的 dex code(APK文件)作为输入文件,在dex2oat这个框架 中,有两条通路经过dex2oat,一条是从入口verify后直接 write elf(这种方式有可能为了使用之间的老代码), 另一条是从入口的verify之后,dex code 经过 transform产生IR(optimization),然后产生 (code generation )native代码,然后经过输出写入ELF文件,经过 install后得到一个 OAT 文件。
在安卓6的时候,这里有两个编译手段对于dex2oat来说,一个是 quick, 一个是 optimizing,现在的重点就是 optimizing
根据这篇资料整理
# 1. ctrl + p
ext install Shan.code-settings-sync
参考这个网址: https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync&ssr=false#overview https://blog.csdn.net/joson1234567890/article/details/105164157/