系统应用中遇到的几种编译问题,需要配Android.mk

最近在开发Settings需求中遇到几个编译问题,在这里做个笔记。希望对大家有用。

Settings中调用其他应用aidl问题。

在系统应用Settings里引入,另一个应用对外封装的aidl文件,报编译错误。


例如引入SDKAPP应用中
SDKAPP\app\src\main\aidl\com\xxxx\xxx\nightmode\INightModeService.aidl

 

1.需要在Settings应用下创建全路径相同文件
packages/apps/Settings/src/com/xxxx/xxx/nightmode/INightModeService.aidl

 2.需要在对应的Android.mk文件中引入文件路径(否则会报编译错误找不到对应的INightModeService.java)
LOCAL_SRC_FILES += \
       src/com/xxxx/xxx/nightmode/INightModeService.aidl

如果Android.mk文件中未引入aidl会报找不到aidl类编译错误。

Settings中调用Services下的类出现问题

调用底层Service包中里frameworks/base/services/下的类


需要在对应的Android.mk文件LOCAL_STATIC_JAVA_LIBRARIES中静态引入services。
否则会报找不到frameworks/base/services/下的包,
frameworks/base/services/core/java/com/android/server/DeviceControlService.java
frameworks/base/services/core/java/com/android/server/twilight/TwilightService.java
frameworks/base/services/core/java/com/android/server/display/nightmode/NightModeTwilightController.java
等都导不进来。

如果LOCAL_JAVA_LIBRARIES这个里动态引入services,则会编译通过运行找不到类异常。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值