Android7.0 Launcher3 无法导入SystemProperties

在尝试在Android 7.0的Launcher3中添加SystemProperties功能时,遇到编译错误,提示无法解析SystemProperties。问题出在缺少对framework的引用。在分析和对比其他应用后,发现在Launcher3的android.mk文件中添加LOCAL_JAVA_LIBRARIES := framework后,编译得以通过。更新后的Android.mk文件包括了对framework的依赖,从而解决了问题。
AI助手已提取文章相关产品:

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

今天遇到一个问题:在Launcher3,中添加SystemProperties功能,始终编译不过,报错如下:

ERROR: /home/zhiwu/sungq/M970/packages/apps/Launcher3/src/com/android/launcher3/Launcher.java:80: The import android.os.SystemProperties cannot be resolved
ERROR: /home/zhiwu/sungq/M970/packages/apps/Launcher3/src/com/android/launcher3/Launcher.java:2780: SystemProperties cannot be resolved
ERROR: /home/zhiwu/sungq/M970/packages/apps/Launcher3/src/com/android/launcher3/Launcher.java:2781: SystemProperties cannot be resolved

到framework下面查找位置:

framework/base/core/java/android/os/SystemProperties.java

为什么这个位置下其他的文件都可以找到,唯独SystemProperties找不到,

最后对比其他可以使用SystemProperties的应用,发现LOCAL_JAVA_LIBRARIES := framework这个属性

在Launcher3的android.mk里面没有

最后在android.mk里加上LOCAL_JAVA_LIBRARIES := framework这个,就可以编译通过了。


下面附上Android.mk的源码,供查询

LOCAL_PATH := $(call my-dir)

#
# Build app code.
#
include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional

LOCAL_JAVA_LIBRARIES := framework
LOCAL_STATIC_JAVA_LIBRARIES := \
    android-support-v4 \
    android-support-v7-recyclerview

LOCAL_SRC_FILES := $(call all-java-files-under, src) \
    $(call all-java-files-under, WallpaperPicker/src) \
    $(call all-proto-files-under, protos)

LOCAL_SRC_FILES += src/com/qti/launcherunreadservice/IGetUnreadNumber.aidl

LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/WallpaperPicker/res \
    $(LOCAL_PATH)/res \
    frameworks/support/v7/recyclerview/res

LOCAL_PROGUARD_FLAG_FILES := proguard.flags

LOCAL_PROTOC_OPTIMIZE_TYPE := nano
LOCAL_PROTOC_FLAGS := --proto_path=$(LOCAL_PATH)/protos/
LOCAL_AAPT_FLAGS := \
    --auto-add-overlay \
    --extra-packages android.support.v7.recyclerview

LOCAL_SDK_VERSION := current
LOCAL_PACKAGE_NAME := Launcher3
LOCAL_PRIVILEGED_MODULE := true
#LOCAL_CERTIFICATE := shared

LOCAL_OVERRIDES_PACKAGES := Home Launcher2

include $(BUILD_PACKAGE)


#
# Launcher proto buffer jar used for development
#
include $(CLEAR_VARS)

LOCAL_SRC_FILES := $(call all-proto-files-under, protos)

LOCAL_PROTOC_OPTIMIZE_TYPE := nano
LOCAL_PROTOC_FLAGS := --proto_path=$(LOCAL_PATH)/protos/

LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := launcher_proto_lib
LOCAL_IS_HOST_MODULE := true
LOCAL_STATIC_JAVA_LIBRARIES := host-libprotobuf-java-nano

include $(BUILD_HOST_JAVA_LIBRARY)

include $(call all-makefiles-under,$(LOCAL_PATH))



您可能感兴趣的与本文相关内容

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值