參考來源:https://zhuanlan.zhihu.com/p/141243776
代碼下載:
利用百度云盤下載安卓整套源碼设凹,非會員大概需要三天左右下完。一定要下載安卓整套源碼茅姜,桌面的代碼是項目整體編譯的闪朱,依賴于其他模塊的編譯結(jié)果。如果本地android studio調(diào)通钻洒,需要在項目結(jié)果是做調(diào)整奋姿,引入其他模塊的代碼。
參考來源:https://blog.csdn.net/zwc456baby/article/details/108594712
下載地址:https://pan.baidu.com/s/11bF3nDZsdgkEakUYqu7HGg
密碼:sufd
編譯問題處理
1.找不到android-R
將gradle.properties中的android-R改成android-30
2.無法調(diào)用hide方法user.getIdentifier(),info.isInstantApp()
將user.getIdentifier()換成user.hashCode(),將info.isInstantApp()換成mContext.getPackageManager().isInstantApp(info.packageName);
3.無法找到android的一些注解
剛剛說過桌面的代碼是整體編譯素标,其所一樣的sdk與從Android stutio下載的sdk的android.jar不一樣的称诗。從Android studio下載的android.jar缺少很多類。需要重新下載和替換头遭。
通過谷歌的網(wǎng)盤下載android30的android.jar:
https://drive.google.com/drive/folders/185jgOthBI_qXzeS14s795LMGSekSTw5_
改成android.jar寓免,然后替換android 30的sdk的旨怠,例如我的路徑是D:\sdk\platforms\android-30
4.缺少iconloaderlib硼控、ShareLibWrapper源碼
iconloaderlib 需要從frameworks\libs\systemui\iconloaderlib整體拷貝過來
ShareLibWrapper 需要從\frameworks\base\packages\SystemUI\shared 整體拷貝
這里基本上缺什么類,就到源碼目錄里面搜索襟诸,然后對整個包整體拷貝
5.proto協(xié)議缺失
proto是源碼中打印日志和統(tǒng)計使用享潜,沒有太大作用。編譯不通過的部分可刪掉嗅蔬。
另外發(fā)現(xiàn)build.gradle里面可能配少了一行需要加:
option "java_package=launcher_atom.proto|com.android.launcher3.logger"
到proto的配置中
6.缺少launcher_proto.jar和plugin_core.jar
需要從網(wǎng)上下載
github地址
https://github.com/huolizhuminh/Launcher3