参考来源:https://zhuanlan.zhihu.com/p/141243776
代码下载:
利用百度云盘下载安卓整套源码,非会员大概需要三天左右下完。一定要下载安卓整套源码,桌面的代码是项目整体编译的,依赖于其他模块的编译结果。如果本地android studio调通,需要在项目结果是做调整,引入其他模块的代码。
参考来源: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.无法调用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缺少很多类。需要重新下载和替换。
通过谷歌的网盘下载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协议缺失
proto是源码中打印日志和统计使用,没有太大作用。编译不通过的部分可删掉。
另外发现build.gradle里面可能配少了一行需要加:
option "java_package=launcher_atom.proto|com.android.launcher3.logger"
到proto的配置中
6.缺少launcher_proto.jar和plugin_core.jar
需要从网上下载
github地址
https://github.com/huolizhuminh/Launcher3