项目需求:1. 创建一个系统应用TestAPP,该应用开机自启动一个service,service为其他应用提供数据接口

2. 在acitivity源码里增加方法,调用系统应用里TestAPP的方法,进行数据交互.


1.在目录frameworks/base/core/java/android/app/下添加aidl文件:

IHelloWorld.aidl:

package android.app;

import java.lang.String;

interface IHelloWorld

{

void printHelloWorld();

void printString(String string);

}

需要注意:

(1) 该文件的package声明应为:package android.app;


2.修改frameworks/base/下的Android.mk文件:

在“LOCAL_SRC_FILES += \”中,参照IAlarmManager的添加方式:

core/java/android/app/IAlarmManager.aidl \

在“LOCAL_SRC_FILES += \”的最后面添加:

core/java/android/app/IHelloWorld.aidl,

需要注意:

(1) 在core/java/android/app/IHelloWorld.aidl上面一行的最后面,还需要添加“\”;


3. 编译framewor后,找到(源码根路径)\out\target\common\obj \JAVA_LIBRARIES\路径的下面framework_intermediates 下的classes.jar文件。

4. 在 eclipse 里面添加一个新的User Library. 如名字为 android-lib(可以自己命名)

5. 把这个 android-lib 设置为System library,并把classes.jar导入(同事说选中System library是让jar只参与编译,不参与运行)

6. 把新的 android-lib 添加到工程,然后在Java Build path中让android-lib的order高于Android4.4(具体版本看项目)


上述步骤完整后就可以再项目里应用AIDL了。


如果要在AIDl里使用自己定义的parcelable类,假如

FriendInfo.java这个类实现Parcelable

需要再同一目录下生成FriendInfo.aidl

具体可以参考frameworks/base/core/java/android/app/下面的PendingIntent

\


更多相关文章

  1. 【整理】android开源项目【项目篇】
  2. android 6.0后usb otg设备不显示在文件管理器中
  3. 将Activity打包成jar文件
  4. android 实用项目备份【GitHub】(三)
  5. Android获取相册中图片的路径 4.4版本前后的变化
  6. Android学习笔记(六)-文件操作与SDCard读写访问
  7. Android高手速成--第三部分 优秀项目

随机推荐

  1. Android(安卓)MediaPlayer基本知识
  2. Android(安卓)之 ProgressDialog用法介绍
  3. 【Android】Activity遮罩效果的实现
  4. Android(安卓)APP 版本更新通知代码
  5. [置顶] Android加载数据过程中的菊花显示
  6. Android开发学习笔记整理(16)-网络请求
  7. 【转】Android(安卓)SDK版本与API Level
  8. Android(安卓)添加快捷方式
  9. android发送json并解析返回json
  10. Android为HttpClient设置证书(用户名和密