[Android]aidl命令
来源:互联网 发布:手机 淘宝教育 编辑:程序博客网 时间:2024/06/08 00:51
之前写过一篇文章“[Android]使用命令行打APK包 ”,里面没有涉及到aidl,现Sodino补充aidl的使用方法。
aidl的使用帮助如下:
这些信息太少了,还不能让人明白如何使用。帮助信息首句就是“INPUT required”,其实只有"INPUT"仍是不够的,OPTIONS中“-I”是必选而非可选,否则会提示:
以SDK自带的ApiDemos为实践对象,该工程存储路径为:"D:/JavaTest/ApiDemos/",有三个aidl文件分别为:
com/example/android/apis/app/IRemoteService.aidl
com/example/android/apis/app/IRemoteServiceCallback.aidl
com/example/android/apis/app/ISecondary.aidl
要生成对应的.java文件命令行如下:
对,你没看错,"-I"与"D:/JavaTest/***"之间是没有空格的。XX,看来Google里也有相当混蛋的程序员。
执行此条命令后,生成的.java会与.aidl文件在同一目录下。
如果想指定aidl的生成路径,则可以按照aidl的提示信息使用"-o"选项:
对,你还是没看错,"-o"与"D:/JavaTest/**"中间还是没有空格,再次咒骂设计了aidl工具的那个混蛋。
执行此命令后,则生成的aidl文件存于"D:/JavaTest/"路径下了。
在ApiDemos中,IRemoteService.aidl与IRemoteServiceCallback.aidl是互相依赖的,在编译IRemoteService.aidl时,通过使用"-d"可以将其依赖的相关类输出到自定义的文件中.
生成的aidl_dependenry.txt内容如下:
可选项中"-b"的用法不详,帮助信息中的那句“fail when trying to compile a parcelable.”就感觉少说了些内容,"fail"然后干嘛,XX,第三次咒骂设计了aidl工具的那个混蛋。
帮助信息中还有“aidl --preprocess OUTPUT INPUT...”,作用是根据要编译的.aidl生成预处理文件,但具体预处理有啥用,有知道的告诉我下啊。
仍以ApiDemos为例,生成预处理文件为aidl.preprocess:
生成的aidl.preprocess内容如下:
SDK自带了预处理文件为<sdk_path>/platforms/android-<level>/framework.aidl。
“-p”表示编译aidl时以预处理文件为参去生成.java,命令方法如下:
而通过查看adt的源码可以发现,adt编译aidl使用的正是系统自带的预处理文件framewrok.aidl。
adt源码处理aidl的文件为:<OpenSourceProjectPath>/sdk/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/PreCompilerBuilder.java,其中的handleAidl()即为编译aidl的执行方法。
本文内容归CSDN博客博主Sodino所有
转载请注明出处:http://blog.csdn.net/sodino/archive/2011/05/14/6419498.aspx
- [Android]aidl命令
- Android aidl命令用法
- Android aidl
- android AIDL
- ANDROID AIDL
- android aidl
- android:aidl
- android AIDL
- android AIDL
- Android AIDL
- android aidl
- android aidl
- android aidl
- android aidl
- Android AIDL
- android AIDL
- Android AIDL
- android AIDL
- 在Eclipse中查看JDK类库的源代码
- Ubuntu 11.04 之正在设定 ttf-mscorefonts-installer 解决办法
- 笔记3-实模式与保护模式
- Action game: Brave.Bob
- 【转】TCP-IP传输层你懂多少
- [Android]aidl命令
- Linux下的getch()函数的改进版
- Ubuntu 11.04 快速配置
- niblack 二值化算法源程序 matlab
- Windows服务编写原理及探讨(转载)
- 谈谈对于企业级系统架构的理解
- 如何把SWF转为PDF文件
- C#获取当前应用程序所在路径
- win7 64位下iis配置小问题