ADB
查找某个应用所在的路径
adb shell pm list package -f | grep 过滤词
复制代码
移除应用包
adb shell rm 应用路径
复制代码
查询所有包
adb shell pm -l
复制代码
查找某个包所在路径
adb shell pm path 完整应用包名
复制代码
卸载包
adb uninstall 完整应用包名
复制代码
启动activity
adb shell am start -n "应用包名/activity完整路径(包名)
复制代码
ADB强制安装
(1)解决 Failure [INSTALL_FAILED_TEST_ONLY: installPackageLI]
adb install -t 完整应用包名
复制代码
(2)解决Failure [INSTALL_FAILED_VERSION_DOWNGRADE]
adb install -d 完整应用包名
复制代码
-d: allow version code downgrade
ADB 查看CPU占用情况
adb shell top -m 10 -s 8
复制代码
-m 10 排名前10的
GIT
branch
创建新分支feature1
git branch feature1
复制代码
新建的 branch
并不会自动切换,切换(新)分支
git checkout -b feature1
复制代码
更新远程分支
git remote update origin --prune
复制代码
删除分支
git branch -d 分支名
复制代码
删除
branch
的操作也只会删掉这个引用,并不会删除任何的commit
没有被合并到
master
过的branch
在删除时会失败,这种情况如果你确认是要删除这个branch
,可以把-d
改成-D
,小写换成大写
stash
stash
指令可以帮你把工作目录的内容全部放在你本地的一个独立的地方,它不会被提交,也不会被删除,你把东西放起来之后就可以去做你的临时工作了,做完以后再来取走,就可以继续之前手头的事了。从来没有被track
的文件(即被 add 过的文件)不会被 stash 起来
git stash
复制代码
如果想把没有被 track
的文件这些文件也一起 stash
,可以加上 -u
参数
git stash -u
复制代码
将当前所有stash
的版本打印出来
git stash list
复制代码
将指定版本号下存储的内容取出来
git stash apply stash@{1}
复制代码
将所有的栈都应用回来的时候,可以将栈清空
git stash clear
复制代码
reset
回退到某一个commit
git reset -–hard de0245cf
复制代码
reset 指令的本质:重置 HEAD 以及它所指向的 branch 的位置。 reset 的三种参数:
git reset --hard HEAD^
复制代码
–hard:重置位置的同时,清空工作目录的所有改动;
–soft:重置位置的同时,保留工作目录和暂存区的内容,并把重置 HEAD 的位置所导致的新的文件差异放进暂存区。
–mixed(默认):重置位置的同时,保留工作目录的内容,并清空暂存区。
merge
合并冲突解决后,无需commit,使用后继续合并:
git merge --continue
复制代码
冲突后,取消本次合并:
git merge --abort
复制代码
如果
HEAD
和目标commit
依然是不存在分叉,并且落后于目标commit
,这种操作有一个专有称谓,叫做 “fast-forward”(快速前移)
添加额外的fast forward提交信息
git merge feature1 --no--ff
复制代码
pull
git pull = git fectch + git merge
复制代码
log
查看最近几次commit的改动的文件(-3表示最近三次)
git log -3 --stat
复制代码
log -p 查看详细历史
git log -p
复制代码
-p
是--patch
的缩写
大致看一下改动内容
git log --stat
复制代码
图形化查看commit
git log --graph
复制代码
查看具体的commit
git show 5e68b0d8
复制代码
看指定 commit 中的指定文件
git show 5e68b0d8 a.txt
复制代码
diff
显示暂存区和上一条提交之间的不同
如果你此时输入 git commit
,你将会提交什么
git diff --staged
复制代码
比对工作目录和暂存区
如果你现在把所有文件都 add
,你会向暂存区中增加哪些内容:
git diff
复制代码
rebase
不希望 commit
历史出现分叉,可以用 rebase
来代替 merge
。
git rebase 目标基础点
复制代码
rebase
不会修改基础点的commit
,而是会从原基础点复制一份新的commit
,如果有冲突就在这个commit
里处理
想修改之前某个提交的内容,可以使用rebase交互式
当前有三个提交:
(1)6cdacb //最近一次的提交
(2)3988f81
(3)ef266b4
现在想修改第(2)个ef266b的内容,比如说提交的commit log的信息、或者具体代码内容
先rebase -i 4bfee6到第(3)个,改命令将提示出:
pick 3988f8 ...
pick 6cdacb ...
由于要修改第二个ef266b,将pick修改为
edit ef266b4
然后就可以对文件进行修改,改完后git add ,然后再
git commit --amend
就可以修改提交的commit log信息
然后使用以下命令继续修改下一个,也就是第(1)个提交6cdacb。如果没有下一个就会直接完成
git rebase --continue
复制代码
note:依旧不会直接在之前commit里面修改,rebase之后的commit全是新的
revert
如果出错的内容已经合并到 master,就不能用rebase,否则强制 push
会不会洗掉同事刚发上去的新提交,很容易出问题的,
这种情况下可以这么用revert:
你希望撤销哪个 commit
,就把它填在后面
git revert HEAD^
复制代码
这行代码就会增加一条新的 commit
,它的内容和倒数第二个 commit
是相反的,从而和倒数第二个 commit
相互抵消,达到撤销的效果。
reflog
reflog
是 “reference log” 的缩写,使用它可以查看 Git
仓库中的引用的移动记录。reflog
默认查看 HEAD
的移动历史。可以手动加上名称来查看其他引用的移动历史,例如某个 branch
git reflog master
复制代码
cheery-pick
cherry-pick
是一种特殊的合并操作,使用它可以选择一个或多个 commit
,按序合并到当前的branch。
git cherry-pick 6cdacb
复制代码
Gradle
1.查看依赖树关系
./gradlew :模块名:dependencies
或者只看 implementation
./gradlew :模块名:dependencies --configuration implementation
复制代码
签名
apksigner
apksigner命令路径 sign --ks 签名 apk路径
复制代码
ex:
/Users/xxx/Library/Android/sdk/build-tools/29.0.3/apksigner sign --ks /Users/xxxx/Downloads/a.keystore /Users/xxx/Downloads/a.apk
复制代码
其他
AS编译,出现too many file
报错
sudo launchctl limit maxfiles 50000 200000
复制代码