一、ubuntu 常用命令
解壓tar.gz到指定文件夾
tar -zxvf demo.tar.gz -C /.
移動指定文件到指定文件夾
sudo mv android-studio /opt/
ps -ef 顯示所有進程
kill -s 9 PID 殺死指定進程
ps -a 查看所有進程
ps -e 查看除內核以外的所有進程
ps -f 全格式輸出
強制刪除文件名
sudo rm -r 文件名
強制刪除文件夾并不提示
sudo rm -rf 文件名
find基本上相當于 linux下的 “搜索” , 相當于windows下的搜索功能! 它是用來搜索文件的。
grep是用來搜索文本的, 用來在standard input或文件內部的內容中, 來搜索文字 內容的!
find 是完全匹配(通配符),而grep是包含匹配(正則表達式)
find 用于搜索文件
默認是當前路徑
find -name ".txt"
find -name ".apk" |grep "package"
adb shell "dumpsys meminfo |grep 包名"
aosp編譯命令
source build/envsetup.sh
如果是 Android13, lunch sdk_phone_x86_64
lunch aosp_x86_64-eng
make -j16
emulator
第一節(jié)課筆記
1、aosp是一個很大的項目,由多個子項目,要使用git.
cd framework
git init
git add *
git commit -m "init"
2、shutdown /s /t 3600 一小時后定時關機
/s:關閉計算機。
/t <秒數(shù)>:設置關機倒計時(單位:秒)。
3、命令行抓日志
adb logcat
adb logcat -c 清除舊的日志
adb logcat | findstr "keyword"
4、vi用到的不熟的命令行
:w 保存文件
:wq 或 :x 保存并退出
:q! 強制退出(不保存)
5、框架盡量少導入包,盡量寫全路徑,android.util.log.i()
6、只修改了framework的代碼,掌握這些命令可以顯著提升 AOSP 開發(fā)效率,避免不必要的全量編譯!
a、make framework---僅 Framework 層生成,out/target/product/<設備名>/system/framework/
b、make systemimage--生成 Android 系統(tǒng)的 system 分區(qū)鏡像(system.img),包含所有系統(tǒng)級應用、庫、框架和配置文件,out/target/product/<設備名>/system.img
7、清理編譯結果:
全清理:make clean(刪除 out/ 目錄)。
部分清理:make installclean(保留部分緩存,加速下次編譯)。
8、在 AOSP(Android 開源項目) 的全編譯(make -jN)后,out 目錄是編譯產(chǎn)物的核心輸出目錄。以下是 out 目錄中生成的主要文件及其作用:
out/
├── host/ # 主機端工具和庫
│ ├── linux-x86/ # Linux 平臺工具
│ │ ├── bin/ # 可執(zhí)行文件(adb, fastboot, make)
│ │ └── lib/ # 主機端庫文件
│
└── target/ # 目標設備相關輸出
└── product/aosp_x86_64/ # 設備名(如 aosp_x86_64)
├── system.img # 系統(tǒng)分區(qū)鏡像
├── userdata.img # 用戶數(shù)據(jù)鏡像
├── boot.img # 啟動鏡像
├── ramdisk.img # 初始內存磁盤鏡像
├── obj/ # 中間編譯對象文件
│ ├── APPS/ # 應用編譯中間文件
│ └── KERNEL_OBJ/ # 內核編譯中間文件
└── system/ # 系統(tǒng)分區(qū)內容(未打包成鏡像的原始文件)
├── framework/ # 框架層 JAR 包
├── app/ # 系統(tǒng)應用
├── lib/ # 原生庫
└── build.prop # 系統(tǒng)屬性配置