当我在我的应用程序中使用 kotlin-parcelize 时,在我构建项目后,我收到一个错误:找不到符号 readFromParcel

when i use kotlin-parcelize in my application,after i build my project ,i get a error : can't find symbol readFromParcel

提问人:NaughtyChild 提问时间:9/7/2023 更新时间:9/7/2023 访问量:28

问:

当我在我的应用程序中使用 kotlin-parcelize 时,在我构建我的项目后,我收到一个错误:找不到符号 readFromParcel。 这是我的 BtDevice kotlin 文件:

import android.os.Parcelable
import kotlinx.parcelize.Parcelize

@Parcelize
data class BtDevice(var address: String = "") : Parcelable

这是 BtDevice aidl 文件;

parcelable  BtDevice;

这是它在另一个 AIDL 接口中使用的地方。

 interface  DeviceFoundListener{
    void onDeviceFound(inout BtDevice device);
    void bondSuccess(inout BtDevice device);
}

我已经添加了这个 gradle 配置

plugins {
    id 'com.android.library'
    id 'org.jetbrains.kotlin.android'
    id 'kotlin-parcelize'
}

我该怎么办?

我已经找到了这个页面:https://developer.android.com/kotlin/parcelize 但我无法获得帮助。

Android Kotlin Kotlin-coroutines 可打包 aidl

评论


答:

0赞 NaughtyChild 9/7/2023 #1

我发现手动添加此功能后,没关系


@Parcelize
data class BtDevice(var address: String = "",var name:String="") : Parcelable{
    fun readFromParcel(parcel: Parcel) {
        address = parcel.readString()!!
        name = parcel.readString()!!
    }
}