首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android: AIDL拒绝从定义parcelable的aidl文件生成代码

Android: AIDL拒绝从定义parcelable的aidl文件生成代码
EN

Stack Overflow用户
提问于 2017-07-11 20:12:18
回答 4查看 12.3K关注 0票数 6

我正试着用助手建一个图书馆。

代码语言:javascript
复制
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := test

LOCAL_SRC_FILES := $(call all-java-files-under, java) \
java/com/testapp/Istudent.aidl \
java/com/testapp/Itest.aidl \

LOCAL_PREBUILT_JAVA_LIBRARY := framework.jar
include $(BUILD_JAVA_LIBRARY)

我在试着把我的学生转到Itest去。

Istudent.aidl

代码语言:javascript
复制
package com.testapp;

parcelable Istudent;

Istudent.java

代码语言:javascript
复制
public class Istudent implements Parcelable{}

Itest.aidl

代码语言:javascript
复制
package com.testapp;

import  com.testapp.Istudent;

interface IAP2InterfaceBase {}

,但我收到的错误是e07-11 20:05:37 71066 71066 aidl.cpp:580]拒绝从定义可打包的aidl文件生成代码。

请让我知道我们的意思是“拒绝从定义parcelable的aidl文件生成代码”?我在这里做了什么坏事..。

EN

回答 4

Stack Overflow用户

发布于 2017-11-23 12:39:43

错误的原因可以理解为下面aidl:的源代码

https://github.com/debian-pkg-android-tools/android-platform-system-tools-aidl/blob/master/aidl.cpp线:536

代码语言:javascript
复制
if (!interface) {
    LOG(ERROR) << "refusing to generate code from aidl file defining "
                  "parcelable";
    return AidlError::FOUND_PARCELABLE;
  }

另外,声明您的parcelable类的aidl文件不应该包含在构建中,正如https://developer.android.com/guide/components/aidl.html在“通过IPC传递对象”下面提到的那样。下面是从网站复制的片段。

最后,创建一个声明可打包类的.aidl文件(如下面的Rect.aidl文件所示)。如果使用的是自定义生成过程,请不要将.aidl文件添加到生成中。与C语言中的头文件类似,这个.aidl文件没有编译。

票数 3
EN

Stack Overflow用户

发布于 2017-12-21 09:28:04

不知道你是否解决了这个问题。我遇到了同样的问题,通过将Android构建工具降级为早期版本来解决它,低于24的构建工具版本应该可以工作,我使用了23.0.3版本。

票数 0
EN

Stack Overflow用户

发布于 2017-07-26 11:33:37

在android.mk文件中替换

代码语言:javascript
复制
LOCAL_SRC_FILES := $(call all-java-files-under, java) \
    java/com/testapp/Istudent.aidl \
    java/com/testapp/Itest.aidl \

与?

代码语言:javascript
复制
LOCAL_SRC_FILES := $(call all-java-files-under, java) $(call all-Iaidl-files-under, java)
LOCAL_AIDL_INCLUDES := $(call all-Iaidl-files-under, java)
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45043696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档