AndroidStudio的aidl文件默认放在src/main/aidl目录下,aidl目录和java目录同级别。
在java目录上右键,创建一个aidl文件,此文件会默认生成到aidl目录下。
同时必须要指明包名,包名必须和java目录下的包名一致。
Model类必须要实现Parcelable接口!
如果aidl需要使用Model类,必须要import进来,不然会找不到。
然后Make一下,就会自动生成Java文件。
此时就可以实现接口了。
在java目录上右键,创建一个aidl文件,此文件会默认生成到aidl目录下。
同时必须要指明包名,包名必须和java目录下的包名一致。
Model类必须要实现Parcelable接口!
如果aidl需要使用Model类,必须要import进来,不然会找不到。
然后Make一下,就会自动生成Java文件。
此时就可以实现接口了。
其他答案
Android Studio开发环境建立aidl文件,怎么生成相应的java文件?
Android Studio开发环境建立aidl文件,不自动生成java文件?在Eclipse中建立aidl文件后在gen文件夹下会自动生成一个java文件,但是在Android Studio中就不会?而且不知道怎么生成那个java文件,求解答!补充:如何在另一个项目中调用者aidl文件?像Eclipse中那样直接拷贝过来吗?
1 条评论
按投票排序
按时间排序
8 个回答
AndroidStudio的aidl文件默认放在src/main/aidl目录下,aidl目录和java目录同级别。
在java目录上右键,创建一个aidl文件,此文件会默认生成到aidl目录下。
同时必须要指明包名,包名必须和java目录下的包名一致。
Model类必须要实现Parcelable接口!
如果aidl需要使用Model类,必须要import进来,不然会找不到。
然后Make一下,就会自动生成Java文件。
此时就可以实现接口了。
在java目录上右键,创建一个aidl文件,此文件会默认生成到aidl目录下。
同时必须要指明包名,包名必须和java目录下的包名一致。
Model类必须要实现Parcelable接口!
如果aidl需要使用Model类,必须要import进来,不然会找不到。
然后Make一下,就会自动生成Java文件。
此时就可以实现接口了。
昨天刚刚遇到些问题,也解决了,简单说下吧,首先你在module 右键new aidl文件,然后自动生成一个目录,这没什么好说的,我的问题是在这个aidl文件中需要import 一个本地的model类,这个类你需要实现Parcelable然后建一个model类.aidl,到此步你都可以根据官方文档来,这是候编译,会出现一个问题,import class not found,我的问题卡在这,最终的解决,是需要另外在gradle上里面加上sourceSets {
main {
aidl.srcDirs = ['src/main/java']
}
这样编译,就OK了
我也遇到这个问题,附上自己的方法。
首先,在实现Parcelable接口的类所在的包上右键New -> AIDL。
AS会自动生成aidl文件夹以及对应的包名。接着声明所需要类。提示interface name must be unique时,可以随意命名,新建完成后再重命名。
Build -> Make Project后可生成Java文件。
参考《Android开发艺术探索》
首先,在实现Parcelable接口的类所在的包上右键New -> AIDL。
AS会自动生成aidl文件夹以及对应的包名。接着声明所需要类。提示interface name must be unique时,可以随意命名,新建完成后再重命名。
Build -> Make Project后可生成Java文件。
参考《Android开发艺术探索》
跟楼上
@伈风依然 遇到类似问题,不过用了另一个方法解决, 链接:
https://code.google.com/p/android/issues/detail?id=132062
以person作为module类打个比方:新建Person.java实现了Parcelable后再新建Person.aidl时会出现一个问题interface name must be unique。这时候先随意新建一个aidl(IPerson.aidl)然后rename为Person.aidl。make project后自动生成。
以person作为module类打个比方:新建Person.java实现了Parcelable后再新建Person.aidl时会出现一个问题interface name must be unique。这时候先随意新建一个aidl(IPerson.aidl)然后rename为Person.aidl。make project后自动生成。
我也遇到了这个问题,按照stackoverflow的方法没解决,上两个我找到的方法吧,
1.链接在此: Android Studio下如何配置AIDL文件,先在main目录下新建一个文件夹,命名为aidl,再在该目录下新建一个包,包名跟AndroidManifest中的package同名,然后在该包下创建aidl文件,创建完之后在build/generated/source/aidl/debug下就可以见到自动生成的java文件
2.链接在此: Issue 56160 - android - Gradle Android plugin does not detect AIDL files automatically,在app目录下的build.gradle中指定aidl的目录,比如设为src/main/java,那么在该包下新建的aidl文件都会自动生成对应的java文件
另外,在aidl文件中必须指定好package,否则会编译出错
1.链接在此: Android Studio下如何配置AIDL文件,先在main目录下新建一个文件夹,命名为aidl,再在该目录下新建一个包,包名跟AndroidManifest中的package同名,然后在该包下创建aidl文件,创建完之后在build/generated/source/aidl/debug下就可以见到自动生成的java文件
2.链接在此: Issue 56160 - android - Gradle Android plugin does not detect AIDL files automatically,在app目录下的build.gradle中指定aidl的目录,比如设为src/main/java,那么在该包下新建的aidl文件都会自动生成对应的java文件
另外,在aidl文件中必须指定好package,否则会编译出错
实测有效:在src/main文件下建一个aidl/文件夹,把.aidl文件放里面,要注意包路径也要跟java/文件夹一样,参考
Gradle Plugin User Guide 和
how can I add the aidl file to Android studio (from the in-app billing example)