上一篇文章把a(bǔ)ndroid整體源碼編譯好,并導(dǎo)入到了AS中。 為了能夠方便對Launcher3進(jìn)行開發(fā)調(diào)試,這篇寫一下將Launcher3 項(xiàng)目單獨(dú)進(jìn)行編譯的過程。
首先clone下來它的源碼
git clone [https://android.googlesource.com/platform/packages/apps/Launcher3]切換分支到自己想要的版本
git checkout android-10.0.0_r20導(dǎo)入項(xiàng)目到AS中
這個(gè)時(shí)候控制臺(tái)會(huì)報(bào)這個(gè)錯(cuò)
ERROR: Failed to find Platform SDK with path: platforms;android-Q
配置一下sdk

修改protos目錄下launcher_dump.proto
option java_package = "com.android.launcher3.model";
修改為:
option java_package = "com.android.launcher3.model.nano";
此處修改為了保證引用的import com.android.launcher3.model.nano.LauncherDumpProto的地方,能夠找到LauncherDumpProto類。
這時(shí)候還可能會(huì)報(bào)下面的錯(cuò)誤
Directory '/Users/project/app/build/extracted-include-protos/main' specified for property '$3' does not exist.
解決方案為把protobuf-gradle-plugin 版本更新到 0.8.8
classpath'com.google.protobuf:protobuf-gradle-plugin:0.8.8'
如果有其他protobuf問題可參看protobuf-gradle-plugin github
接下來運(yùn)行l(wèi)auncher工程到我們對應(yīng)版本虛擬機(jī)即可。
參考資料
1.protobuf-gradle-plugin
2.Launcher3導(dǎo)入Android Studio
3.Android launcher3 開發(fā)初始篇