`

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 studio下使用aidl接口传递自定义对象

    AIDL是一种接口定义语言,它允许你在Android应用之间定义接口,以实现进程间的通信(IPC)。当你在服务中定义一个AIDL接口,并在客户端调用这个接口时,系统会自动生成相应的 Binder 类,以处理跨进程的调用。 接...

    Android服务、aidl接口demo

    1. **AIDL简介**:AIDL是Android提供的接口定义语言,用于处理Android应用间的跨进程通信(IPC, Inter-Process Communication)。通过AIDL,应用可以暴露一部分功能给其他应用调用,就像Java中的接口一样。 2. **...

    Android多进程通讯AIDL传递Parcelable对象

    在Android系统中,多进程通信(IPC,Inter-Process Communication)是实现不同应用...正确理解和使用AIDL能够帮助开发者构建健壮的、具有扩展性的Android应用。在实际开发中,应结合具体需求选择合适的多进程通信方式。

    深入Android架构(从线程到AIDL)

    Android应用程序默认运行在一个主线程中,也称为UI线程,负责处理用户交互和绘制界面。然而,复杂的计算任务或长时间的操作如果在主线程执行,会阻塞UI更新,导致应用无响应(ANR)。为了解决这个问题,Android引入...

    安卓AIDL相关-androidstudio下使用aidl接口传递自定义对象.rar

    这个压缩包“安卓AIDL相关-androidstudio下使用aidl接口传递自定义对象.rar”提供了关于如何在Android Studio环境下利用AIDL来传递自定义对象的示例和学习材料。 首先,理解AIDL的基本概念非常重要。AIDL定义了一种...

    apk大小AIDL接口

    总结起来,"apk大小AIDL接口"这个主题涵盖了Android应用的APK大小计算方法以及使用AIDL进行进程间通信的技术。通过AIDL,我们可以创建一个服务,该服务暴露一个接口,客户端可以调用该接口获取APK的大小信息。这种...

    android AidlDemo(简单aidl的例子)

    本示例"android AidlDemo(简单aidl的例子)"将带领我们深入理解如何在Android应用中使用AIDL。 1. **AIDL的基本概念** - AIDL是一种接口定义语言,它的主要作用是让不同的Android进程能够安全、高效地进行通信。 -...

    AndroidAIDL

    **Android AIDL(Android Interface Definition Language)详解** 在Android系统中,进程间的通信(IPC, Inter-Process Communication)是...掌握AIDL的使用,对于开发大型的、需要多进程协作的Android应用至关重要。

    android aidl文件不一致引起的调用出错问题.doc

    Android AIDL(Android Interface Definition Language)是一种基于接口定义语言,用于定义 Android 应用程序之间的接口。AIDL 文件是用于定义服务端和客户端之间的接口,用于实现远程过程调用(RPC)。但是, 当...

    wps for android AIDL调用

    而AIDL(Android Interface Definition Language)是Android系统提供的一种接口定义语言,用于处理进程间通信(IPC, Inter-Process Communication)。当需要在第三方应用中与WPS Office进行交互时,AIDL就成为了一个...

    android aidl 不同进程间通信

    在Android系统中,进程间通信(IPC,Inter-Process Communication)是实现不同应用程序之间数据交换的关键技术。Android Aidl(Android Interface Definition ...理解和掌握Aidl对于开发复杂的Android应用至关重要。

    Android Aidl 测试Demo

    在Android开发中,AIDL(Android Interface Definition Language)是一种强大的工具,用于实现进程间通信(IPC,Inter-...通过深入理解并熟练运用这个技术,开发者可以构建更加高效、稳定且模块化的Android应用。

    Android Studio编写AIDL文件后如何实现自动编译生成

    如果XXX.aidl引用了一个java下的model例如引用了a.b.c.Model; 则需要在XXX.aidl文件中声明import a.b.c.Model;全路径。 并且创建另一个文件Model.aidl 在Model.aidl文件中声明以下内容 package xxxx包名称; ...

    android的aidl解析

    4. **导入语句**:如果接口需要引用其他AIDL文件中的接口或数据类型,可以使用`import`语句导入。 **AIDL的工作原理** 1. **编译过程**:当AIDL文件被编译时,Android构建系统会生成对应的Java代码。对于服务端,...

    android_aidl例子

    在这个"android_aidl例子"中,我们有两个项目:21_阿里支付系统和22_LoL游戏,它们都利用了AIDL来解决跨应用交互的问题。 首先,让我们深入理解AIDL的基本概念。AIDL本质上是定义接口的语法,类似于Java中的接口,...

    aidl.rar_AIDL_AIDL.rar_android AIDL service_android service_andr

    Android编译系统会自动将.AIDL文件转换为相应的Java接口和Binder类,这样服务端和客户端就可以分别实现和引用这些接口。 3. **服务端实现**: 在服务端,你需要实现`IMyService`接口,并在Service中注册这个实现...

    Android AIDL使用详解

    在Android应用开发中,当需要在不同的应用程序组件之间进行数据交换或者服务调用时,AIDL就显得尤为重要。通过AIDL,开发者可以定义接口,使得一个进程可以调用另一个进程中对象的方法,就像它们在同一进程中一样。 ...

    android AIDL demo讲解

    Android AIDL(Android Interface Definition ...通过以上讲解,你应该对AIDL有了深入的理解,能够创建和使用AIDL接口实现Android应用的进程间通信。实践中,灵活运用AIDL可以极大地提升应用的功能性和可扩展性。

    android aidl 复杂数据类型 传图片

    在Android应用开发中,AIDL(Android Interface Definition Language)是一种强大的工具,用于实现跨进程通信(IPC,Inter-Process Communication)。当我们需要在一个Activity中调用另一个进程中服务的方法时,AIDL...

    AIDL_AidlService_android_

    AIDL允许我们在不同的Android应用程序组件之间定义接口,使得它们可以相互通信,即使这些组件在不同的进程中运行。 **AIDL的基本概念** 1. **接口定义**: AIDL文件本质上是定义了一个接口,其中包含了方法声明。这...

Global site tag (gtag.js) - Google Analytics