首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

Framework平添AIDL文件

2012-08-28 
Framework添加AIDL文件?Framework编译AIDL文件?今天下午下载一个开源的Android系统,编译中老遇到如下aidl

Framework添加AIDL文件

?

Framework编译AIDL文件

?

今天下午下载一个开源的Android系统,编译中老遇到如下aidl错误,思考了很久,终于找到解决办法。AIDL是什么?不清楚的可以google。这里重点是如何在android framework中添加新的接口。如下例子,如果没有添加AILD文件,编译系统的时候会出现如下错误。

?

frameworks/base/core/java/android/bluetooth/BluetoothHid.java:86: cannot find symbol

symbol ?: class IBluetoothHid

location: class android.bluetooth.BluetoothHid

?? ?private final IBluetoothHid mService;

?? ? ? ? ? ? ? ? ?^

frameworks/base/core/java/android/server/BluetoothHidService.java:30: cannot find symbol

symbol ?: class IBluetoothHid

location: package android.bluetooth

import android.bluetooth.IBluetoothHid;

?? ? ? ? ? ? ? ? ? ? ? ? ^

frameworks/base/core/java/android/server/BluetoothHidService.java:47: package IBluetoothHid does not exist

public class BluetoothHidService extends IBluetoothHid.Stub {

?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?^

frameworks/base/core/java/android/bluetooth/BluetoothHid.java:98: package IBluetoothHid does not exist

?? ? ? ? ? ?mService = IBluetoothHid.Stub.asInterface(b);

?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?^

frameworks/base/core/java/android/server/BluetoothHidService.java:142: cannot find symbol

symbol ?: variable super

location: class android.server.BluetoothHidService

?? ? ? ? ? ?super.finalize();

?? ? ? ? ? ?^

Note: Some input files use or override a deprecated API.

Note: Recompile with -Xlint:deprecation for details.

Note: Some input files use unchecked or unsafe operations.

Note: Recompile with -Xlint:unchecked for details.

5 errors

6 warnings

?

解决办法:

在framework中的 Android.mk文件中添加

......

?

?? ? ? ?core/java/android/app/backup/IBackupManager.aidl \

core/java/android/app/backup/IRestoreObserver.aidl \

core/java/android/app/backup/IRestoreSession.aidl \

core/java/android/bluetooth/IBluetooth.aidl \

core/java/android/bluetooth/IBluetoothA2dp.aidl \

core/java/android/bluetooth/IBluetoothCallback.aidl \

core/java/android/bluetooth/IBluetoothHeadset.aidl \

?? ? ? ?core/java/android/bluetooth/IBluetoothHid.aidl \

core/java/android/bluetooth/IBluetoothPbap.aidl \

core/java/android/content/IContentService.aidl \

core/java/android/content/IIntentReceiver.aidl \

core/java/android/content/IIntentSender.aidl \

core/java/android/content/ISyncAdapter.aidl \

?

......


有错误出来了,ok跟着做。

?******************************

You have tried to change the API from what has been previously approved.

?

To make these errors go away, you have two choices:

?? 1) You can add "@hide"javadoc comments to the methods, etc. listed in the

????? errors above.

?

?? 2) You can update current.xml byexecuting the following command:

???????? make update-api

?

????? To submit the revisedcurrent.xml to the main Android repository,

????? you will need approval.

******************************make updata-api --更新系统api
>>>>>>finish
make -j8 ?--重新编译
ok编译顺利通过。

热点排行