Skip to content

Ksp support #160

@DoTheBestMayB

Description

@DoTheBestMayB

If I designate the annotation as ksp, the Type Adapter is not created, resulting in the following error.

    implementation("com.tickaroo.tikxml:annotation:0.8.13")
    implementation("com.tickaroo.tikxml:core:0.8.13")
    implementation("com.tickaroo.tikxml:retrofit-converter:0.8.13")
    ksp("com.tickaroo.tikxml:processor:0.8.13")

com.tickaroo.tikxml.TypeAdapterNotFoundException: No TypeAdapter for class com.stop.data.remote.model.route.gyeonggi.GyeonggiBusStationIdResponse found. Expected name of the type adapter is com.stop.data.remote.model.route.gyeonggi.GyeonggiBusStationIdResponse$$TypeAdapter
at com.tickaroo.tikxml.TypeAdapters.get(TypeAdapters.java:112)
at com.tickaroo.tikxml.TikXmlConfig.getTypeAdapter(TikXmlConfig.java:83)
at com.tickaroo.tikxml.TikXml.read(TikXml.java:113)
at com.tickaroo.tikxml.retrofit.TikXmlResponseBodyConverter.convert(TikXmlResponseBodyConverter.java:44)
at com.tickaroo.tikxml.retrofit.TikXmlResponseBodyConverter.convert(TikXmlResponseBodyConverter.java:32)
at retrofit2.OkHttpCall.parseResponse(OkHttpCall.java:246)
at retrofit2.OkHttpCall$1.onResponse(OkHttpCall.java:156)
at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:519)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [com.stop.ui.route.RouteViewModel$special$$inlined$CoroutineExceptionHandler$1@78b83b0, StandaloneCoroutine{Cancelling}@2a6e229, Dispatchers.Default]
Caused by: java.lang.ClassNotFoundException: com.stop.data.remote.model.route.gyeonggi.GyeonggiBusStationIdResponse$$TypeAdapter
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:536)
at java.lang.Class.forName(Class.java:467)
at com.tickaroo.tikxml.TypeAdapters.get(TypeAdapters.java:88)
... 10 more
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.stop.data.remote.model.route.gyeonggi.GyeonggiBusStationIdResponse$$TypeAdapter" on path: DexPathList[[dex file "/data/data/com.stop/code_cache/.overlay/base.apk/classes14.dex", dex file "/data/data/com.stop/code_cache/.overlay/base.apk/classes2.dex", dex file "/data/data/com.stop/code_cache/.overlay/base.apk/classes22.dex", zip file "/data/app/~~O_bNBifKocfuUBVlZP7MpQ==/com.stop-sF-NTWZv5X-p2ZmQE-3ryg==/base.apk"],nativeLibraryDirectories=[/data/app/~~O_bNBifKocfuUBVlZP7MpQ==/com.stop-sF-NTWZv5X-p2ZmQE-3ryg==/lib/x86_64, /data/app/~~O_bNBifKocfuUBVlZP7MpQ==/com.stop-sF-NTWZv5X-p2ZmQE-3ryg==/base.apk!/lib/x86_64, /system/lib64, /system_ext/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
... 14 more

I fix error by changing ksp to kapt

    implementation("com.tickaroo.tikxml:annotation:0.8.13")
    implementation("com.tickaroo.tikxml:core:0.8.13")
    implementation("com.tickaroo.tikxml:retrofit-converter:0.8.13")
    kapt("com.tickaroo.tikxml:processor:0.8.13")

Do you have any plans to support ksp? The official Android document recommends using ksp instead of kapt.

https://developer.android.com/build/migrate-to-ksp

If use ksp and kapt together, the quick benefits of ksp are lost.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions