我正试着用助手建一个图书馆。
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
package com.testapp;
parcelable Istudent;Istudent.java
public class Istudent implements Parcelable{}Itest.aidl
package com.testapp;
import com.testapp.Istudent;
interface IAP2InterfaceBase {},但我收到的错误是e07-11 20:05:37 71066 71066 aidl.cpp:580]拒绝从定义可打包的aidl文件生成代码。
请让我知道我们的意思是“拒绝从定义parcelable的aidl文件生成代码”?我在这里做了什么坏事..。
发布于 2017-11-23 12:39:43
错误的原因可以理解为下面aidl:的源代码
https://github.com/debian-pkg-android-tools/android-platform-system-tools-aidl/blob/master/aidl.cpp线:536
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文件没有编译。
发布于 2017-12-21 09:28:04
不知道你是否解决了这个问题。我遇到了同样的问题,通过将Android构建工具降级为早期版本来解决它,低于24的构建工具版本应该可以工作,我使用了23.0.3版本。
发布于 2017-07-26 11:33:37
在android.mk文件中替换
LOCAL_SRC_FILES := $(call all-java-files-under, java) \
java/com/testapp/Istudent.aidl \
java/com/testapp/Itest.aidl \与?
LOCAL_SRC_FILES := $(call all-java-files-under, java) $(call all-Iaidl-files-under, java)
LOCAL_AIDL_INCLUDES := $(call all-Iaidl-files-under, java)https://stackoverflow.com/questions/45043696
复制相似问题