我目前坚持使用AIDL的对象类型。
SongItem.java
public class SongItem implements Parcelable{
}
SongItem.aidl
// SongItem.aidl
package com.example.krot.musicplayer;
// Declare any non-default types here with import statements
parcelable SongItem;
MyAIDL.aidl
interface IPlaybackAction {
void setSongList(in List<SongItem> item);
}
每次我重建项目时都会说
错误:aidl E 03-07 17:18:19 14651 1413571 type_namespace.cpp:129]未知类型
答案 0 :(得分:0)
SongItem
类的包必须与Java和AIDL完全匹配,MyAIDL.aidl
文件必须导入类(这就是为什么你有SongItem.aidl
文件声明的原因该课程为parcelable
。
将其添加到MyAIDL.aidl
的顶部:
import com.example.krot.musicplayer.model.SongItem;
从已删除答案中提供的包结构图像中,我可以看到SongItem.java
与AIDL中的包不同。将您的SongItem.aidl
文件移至目录src/main/aidl/com/example/krot/musicplayer/model
,并将该文件顶部的包声明更新为com.example.krot.musicplayer.model
。