VirtualReflection
Virtual reflection of Kotlin all target
ability
- Set all classes in certain packages to support virtual reflection
- Mark certain classes that can or cannot be virtually reflected through annotations
How to use
Step 1.Your app dir, build.gradle.kts add:
version
= 
- If it is a single platform, add it to build.gradle.kts in the app module directory
plugins {
...
id("com.google.devtools.ksp") version "1.7.10-1.0.6"
}
dependencies {
...
implementation("io.github.ltttttttttttt:VirtualReflection-lib:$version")
ksp("io.github.ltttttttttttt:VirtualReflection:$version")
}
- If it is multi-platform, add it to build.gradle.kts in the common module directory
plugins {
...
id("com.google.devtools.ksp") version "1.7.10-1.0.6"
}
...
val commonMain by getting {
kotlin.srcDir("build/generated/ksp/metadata/commonMain/kotlin")
dependencies {
...
api("io.github.ltttttttttttt:VirtualReflection-lib:$version")
}
}
...
dependencies {
add("kspCommonMainMetadata", "io.github.ltttttttttttt:VirtualReflection:$version")
}
Step 2.Use VirtualReflection
Configure packages that require virtual reflection, Your app dir, build.gradle.kts -> android(or kotlin) add:
ksp {
arg("packageListWithVirtualReflection", "com.lt.virtual_reflection.bean/*your package*/")
}
use
KClass.newInstance()
KClass.newInstance(parameters...)
VirtualReflectionUtil.newInstance("MainActivity")
@ReflectionObject
@NotReflectionObjectConstructor