Android 应用无法引用core里的aidl接口问题

android源码中有很多@hide标记的api,这些api默认是不对外开放的,app是访问不到的。

我在修改android_root/packages/apps/Email下的文件,就遇到了不能访问到@hide   api 的问题。

解决方法: 找到你app工程下的Android.mk , 找到LOCAL_SDK_VERSION:=current 这一行,然后注释掉,再编译就可以通过了,至于原理是什么,请自己去android_root/build 下查找make系统是如何处理的。

 以上系引用

 

 

 

我的问题是

 

在framework/base/core/java里添加了几个*.aidl

但是packages/apps下的应用找不到其符号

 

我的Android.mk是

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional

LOCAL_SRC_FILES := $(call all-java-files-under) \
        src/com/android/music/IMediaPlaybackService.aidl

LOCAL_PACKAGE_NAME := Music

#LOCAL_SDK_VERSION := current

LOCAL_PROGUARD_FLAG_FILES := proguard.flags

include $(BUILD_PACKAGE)

# Use the folloing include to make our test apk.
include $(call all-makefiles-under,$(LOCAL_PATH))

 

 

其中把LOCAL_SDK_VERSION := current就OK了,我估计原因和以上引用的原因一样

你可能感兴趣的:(android)