make framework # Android11开始,建议使用命令:make framework-minus-apex
编译成功后,framework.jar会生成到:out/target/product/产品代号/system/framework中。
make services
编译/frameworks/base/services目录下的代码,详见/frameworks/base/services/Android.bp中的定义
// merge all required services into one jar
// ============================================================
java_library {
name: "services",
defaults: ["services_java_defaults"],
installable: true,
dex_preopt: {
app_image: true,
profile: "art-profile",
},
srcs: [":services-main-sources"],
// The convention is to name each service module 'services.$(module_name)'
static_libs: [
"services.core",
"services.accessibility",
"services.appprediction",
"services.appwidget",
"services.autofill",
"services.backup",
"services.companion",
"services.contentcapture",
"services.contentsuggestions",
"services.coverage",
"services.devicepolicy",
"services.midi",
"services.musicsearch",
"services.net",
"services.people",
"services.print",
"services.profcollect",
"services.restrictions",
"services.searchui",
"services.smartspace",
"services.speech",
"services.systemcaptions",
"services.translation",
"services.texttospeech",
"services.usage",
"services.usb",
"services.voiceinteraction",
"services.wallpapereffectsgeneration",
"services.wifi",
"service-blobstore",
"service-jobscheduler",
"android.hidl.base-V1.0-java",
],
libs: [
"android.hidl.manager-V1.0-java",
"framework-tethering.stubs.module_lib",
"service-art.stubs.system_server",
],
// Uncomment to enable output of certain warnings (deprecated, unchecked)
//javacflags: ["-Xlint"],
}
其中的services.core就包含了/frameworks/base/services/core目录下的内容,例如ActivityManagerService
产物services.jar和framework.jar一样,在/system/framework/目录下,所以调试AMS的时候,make framework是不行的。虽然这样会校验/frameworks/base/services/core目录下的语法错误,但是不会编译services.jar