Код: Выделить всё
@Serializable
class Day(val epochDays: Int) { }
Код: Выделить всё
Day(3)
Код: Выделить всё
@Serializable
@Parcelize
class TaskId(val string: String) : Parcelable { }
< /code>
Но теперь я не могу использовать это в своем файле царапин: < /p>
TaskId("test")
Код: Выделить всё
Exception in thread "main" java.lang.NoClassDefFoundError: android/os/Parcelable
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1012)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
at org.jetbrains.kotlin.idea.scratch.generated.ScratchFileRunnerGenerated$ScratchFileRunnerGenerated.generated_get_instance_res2(tmp.kt:11)
at org.jetbrains.kotlin.idea.scratch.generated.ScratchFileRunnerGenerated.main(tmp.kt:22)
Caused by: java.lang.ClassNotFoundException: android.os.Parcelable
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
... 11 more
< /code>
< /blockquote>
Я мог бы рефактировать свою кодовую базу для поддержки файлов царапин, но файлы царапин не являются артефактами, поэтому я не хочу делать свой код свергнуть только для них. И, кроме того, приподнятый
Код: Выделить всё
package android.os
import org.example.TaskId
interface Parcelable
println(TaskId::class)
[*] Я попытался установить класс точки на myapp.app.unittest (или даже myApp.App.AndIdTest ) вместо myApp.App.UntteTeteTeteSteTeSteSteTeSteSteSteSteSteSteSteSteSteSteSteSteSteSteSteSteSteSteSteSteSteSteSteSteSteSteSteSteSteSteSteSt.OUNTETST. Когда я это делаю, он даже не может найти taskid для начала!
Подробнее здесь: https://stackoverflow.com/questions/797 ... -implement