Android Studio AIDL 自定义类型找不到问题
2016-04-25 14:26
821 查看
如果你也是像我一样的新手,也是刚开始接触AIDL,也是在网上找了一些关于AIDL的简单例子,也在Android Studio下面尝试去敲代码来测试这些例子。碰巧和我一样找到了一个保存Person信息的例子,AIDL有个接口传递的是自定义类型Person的参数。(如果我们没有改Android Studio默认的文件结构,新建aidl文件的时候Android Studio 帮我们建了一个aidl的文件夹,因为在使用aidl的时候客户端和服务器端包名也要完全一样我们为了方便直接复制整个aidl文件夹到客户端会把aidl文件和aidl接口中用到的自定义类型都放到这个文件中)。当我们一步一步的进行编译的时候会报aidl接口中用到的自定义类型的包找不到。解决办法如下,我是这么干的。在gradle文件中加。
把src/main/aidl文件也作为java.srcDirs, resources.srcDirs。
我的Server工程目录结构:
整个工程的代码: Android Studio AIDL非常非常简单的一个例子
<code class="hljs bash has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"> <span class="hljs-built_in" style="margin: 0px; padding: 0px; color: rgb(102, 0, 102); box-sizing: border-box;">source</span>Sets { main { manifest.srcFile <span class="hljs-string" style="margin: 0px; padding: 0px; color: rgb(0, 136, 0); box-sizing: border-box;">'src/main/AndroidManifest.xml'</span> java.srcDirs = [<span class="hljs-string" style="margin: 0px; padding: 0px; color: rgb(0, 136, 0); box-sizing: border-box;">'src/main/java'</span>, <span class="hljs-string" style="margin: 0px; padding: 0px; color: rgb(0, 136, 0); box-sizing: border-box;">'src/main/aidl'</span>] resources.srcDirs = [<span class="hljs-string" style="margin: 0px; padding: 0px; color: rgb(0, 136, 0); box-sizing: border-box;">'src/main/java'</span>, <span class="hljs-string" style="margin: 0px; padding: 0px; color: rgb(0, 136, 0); box-sizing: border-box;">'src/main/aidl'</span>] aidl.srcDirs = [<span class="hljs-string" style="margin: 0px; padding: 0px; color: rgb(0, 136, 0); box-sizing: border-box;">'src/main/aidl'</span>] res.srcDirs = [<span class="hljs-string" style="margin: 0px; padding: 0px; color: rgb(0, 136, 0); box-sizing: border-box;">'src/main/res'</span>] assets.srcDirs = [<span class="hljs-string" style="margin: 0px; padding: 0px; color: rgb(0, 136, 0); box-sizing: border-box;">'src/main/assets'</span>] } }</code><ul class="pre-numbering" style="margin: 0px; padding: 6px 0px 40px; box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="margin: 0px; padding: 0px 5px; box-sizing: border-box;">1</li><li style="margin: 0px; padding: 0px 5px; box-sizing: border-box;">2</li><li style="margin: 0px; padding: 0px 5px; box-sizing: border-box;">3</li><li style="margin: 0px; padding: 0px 5px; box-sizing: border-box;">4</li><li style="margin: 0px; padding: 0px 5px; box-sizing: border-box;">5</li><li style="margin: 0px; padding: 0px 5px; box-sizing: border-box;">6</li><li style="margin: 0px; padding: 0px 5px; box-sizing: border-box;">7</li><li style="margin: 0px; padding: 0px 5px; box-sizing: border-box;">8</li><li style="margin: 0px; padding: 0px 5px; box-sizing: border-box;">9</li><li style="margin: 0px; padding: 0px 5px; box-sizing: border-box;">10</li></ul>
把src/main/aidl文件也作为java.srcDirs, resources.srcDirs。
我的Server工程目录结构:
整个工程的代码: Android Studio AIDL非常非常简单的一个例子
相关文章推荐
- Android 65K问题之Multidex原理分析及NoClassDefFoundError的解决方法
- 运行android时Unable to resolve target 'Google Inc.:Google APIs:7'错误
- android log分析
- Chromebook 也许很快就能运行所有的 Android 应用
- 记一次内存泄露优化过程
- 对android应用安装程序apk反编译与分析(二)-jad将class文件转化为java文件
- Android 65K问题之65K来源探究
- Android 可拖拽的GridView效果实现, 长按可拖拽和item实时交换
- js和Android 的互相调用
- android监听通讯录内容变化
- Found 2 versions of android-support-v4.jar in the dependency list,but not all the versions are ident
- Android Studio 生成 Xutils3 注入的插件
- Android Studio系列教程五--Gradle命令详解与导入第三方包
- DataBinding 坑爹问题集
- Android Studio系列教程六--Gradle多渠道打包
- Android Studio系列教程四--Gradle基础
- java代码中实现android背景选择的selector-StateListDrawable的应用
- Android 获取签名和android studio设置签名
- android中怎么把控件隐藏
- android 拨打电话与发送短信