常用ADB指令
| 功能 | 指令 |
|---|---|
| 查看當(dāng)前Activity | adb shell "dumpsys window | grep mCurrentFocus" |
| 添加代理 | adb shell settings put global http_proxy 172.23.141.52:8888 |
| 刪除代理 | adb shell settings delete global http_proxy adb shell settings delete global global_http_proxy_host adb shell settings delete global global_http_proxy_port adb reboot |
| 查看手機(jī)IP地址 | adb shell netcfg |
| 查看安卓版本 | adb shell getprop ro.build.version.release |
| 查看安卓版本號(hào) | adb shell getprop ro.build.version.sdk |
| 查看安卓版本號(hào) | adb shell getprop ro.build.version.sdk |
| 輸入文字 | adb shell input text "{query}" |
| 查看acitviy以及進(jìn)程 | adb shell dumpsys activity top | grep ACTIVITY |
| 根據(jù)包名查看進(jìn)程 | adb shell ps | grep 包名 |
| 查看進(jìn)程具體內(nèi)存信息 | adb shell dumpsys meminfo 包名/進(jìn)程編號(hào) |
ADB截圖:
time=$(date "+%Y%m%d%H%M%S")
adb devices | tr -s '\n' | awk '{print $1}'| sed -n '2,$p'| while read line
do
echo 安卓設(shè)備id:$line
adb -s $line shell screencap -p /sdcard/$line+$time.png < /dev/null ;
adb -s $line pull /sdcard/$line+$time.png /文件路徑/截圖 < /dev/null ;
done
open /文件路徑/截圖
常用Git指令
| 功能 | 指令 |
|---|---|
| 提交CodeReview | git push origin HEAD:refs/for/release/xxx |
| Git設(shè)置代理 | git config --global http.proxy http://127.0.0.1:4780 git config --global https.proxy http://127.0.0.1:4780 |
| Git清除代理 | git config --global --unset http.proxy git config --global --unset https.proxy |
| 更新,合并到新版本 | git fetch |
| 強(qiáng)制回退版本 | git reset --hard version |
| 添加多個(gè)遠(yuǎn)程倉(cāng)庫(kù)(單工程多倉(cāng)庫(kù)聯(lián)合開(kāi)發(fā)) | git remote add [origin-name] https://github.com/xxx.git |
| 刷新遠(yuǎn)程分支 | git remote update origin -p |
| 強(qiáng)制推送更新(配合revert使用) | git push -f origin master |
| 查看所有遠(yuǎn)程分支 | git branch -a |
| 提取/合并某分支的部分文件 | git checkout [branch_name] [file_name] |
| 把某個(gè)commit id的提交合并到當(dāng)前分支 | git cherry-pick commit id |
| 刪除某一個(gè)分支 | git branch -d [branch_name] |
| 修改Git提交用戶名 | git config --global user.name "BzCoder" |
| 修改Git提交郵箱(GitHub提交統(tǒng)計(jì)是按照郵箱標(biāo)記的) | git config --global user.email "BzCoder" |
| 合并多個(gè)提交為一條 | git merge --squash branchname |
| Git設(shè)置為大小寫(xiě)敏感 | git config core.ignorecase false |
| 查看項(xiàng)目的成員提交情況(剔除merge) | git shortlog -sn --no-merges |
| 查看某一次提交屬于哪個(gè)分支 | git branch -r --contains COMMIT_ID |
常用Gradle指令
| 功能 | 指令 |
|---|---|
| 修改Gradle緩存時(shí)間 | configurations.all { resolutionStrategy.cacheDynamicVersionsFor 1, 'seconds' } |
| 添加監(jiān)聽(tīng) | export GRADLE_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005" |
| 移除監(jiān)聽(tīng) | export GRADLE_OPTS="" |
AAR上傳Kotlin源碼
task androidSourcesJar(type: Jar) {
// 如果有Kotlin那么就需要打入dir : getSrcDirs
if (project.hasProperty("kotlin")) {
println '====> project kotlin'
from android.sourceSets.main.java.getSrcDirs()
} else if (project.hasProperty("android")) {
println '====> project java'
from android.sourceSets.main.java.sourceFiles
} else {
println '====> project java & kotlin'
from sourceSets.main.allSource
}
classifier = 'sources'
}
artifacts {
archives androidSourcesJar
}
常用npm指令
| 功能 | 指令 |
|---|---|
| 安裝本地serve服務(wù) | sudo npm i serve -g --save |
V8編譯相關(guān)
| 功能 | 指令 |
|---|---|
| 導(dǎo)入depot_tools | export PATH=pwd/depot_tools:"$PATH" |
打包
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
export PATH=`pwd`/depot_tools:$PATH
fetch v8
echo "target_os = ['android']" >> ./.gclient && gclient sync -j16 --nohooks
cd v8
tools/dev/v8gen.py android.arm.release
ninja -C out.gn/android.arm.release
常用ndk指令
| 功能 | 指令 |
|---|---|
| 查看so庫(kù)依賴(lài)關(guān)系 | aarch64-linux-android-readelf -d xxxx.so |
| 堆棧轉(zhuǎn)行號(hào) | /ndk/21.4.7075529/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/aarch64-linux-android-addr2line -C -f -e xxxx.so 000110 |
| 得到文件中函數(shù)的符號(hào)表、偏移地址、段大小等等信息 | objdump -x file |
jadx命令
| 功能 | 指令 |
|---|---|
| 反編譯 | jadx --show-bad-code xxx.apk |