为什么8155源码编译出来没有原生Settings,只有CarSettings?
1.首先查看out
看下out下是否有Settings.apk的生成,经查询,并没有生成Settings.apk.
2.然后查看源码
我们找到源码位置看下编译文件
源码位置:apps/LINUX/android/packages/apps/Car/Settings/Android.mk
ifneq ($(TARGET_BUILD_PDK), true)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# To avoid build errors, build empty package for non-platform builds
# (for example, projected). See b/30064991
ifeq (,$(TARGET_BUILD_APPS))
LOCAL_PACKAGE_NAME := CarSettings
###############
LOCAL_OVERRIDES_PACKAGES := Settings
###############
LOCAL_PRIVATE_PLATFORM_APIS := true
LOCAL_SRC_FILES := $(call all-java-files-under, src)
从上面看到了一句: LOCAL_OVERRIDES_PACKAGES := Settings,此变量的作用是可以使其他的模块不加入编译,这里意思是不让Setti
在8155源码编译后发现缺少原生Settings,只有CarSettings。通过查看源码发现LOCAL_OVERRIDES_PACKAGES设定了Settings,将其注释后重新编译。但在验证过程中,系统启动失败,原因是缺少权限设置。解决方法是添加权限XML文件com.android.settings.xml到相应目录,并重新启动,最终成功修复并启动原生Settings。
订阅专栏 解锁全文

309

被折叠的 条评论
为什么被折叠?



