Kotlin · Gradle · Android
Kotlin 代码相似度检测
Kotlin Multiplatform 与共享内核可能天然相似。 apporig 帮助区分「合理共享」与「商店差异化层」仍显重复的部分。
为何要把共享 Kotlin 模块与零售层分开?
显式标记 KMP 包,让审核关注 UI、支付等真正区分品牌的层。
COPY 标签对应审核下载的同一构件。
如何上传 flavor 才公平?
每个 flavor 的 ZIP/Git 标签应匹配实际上线的签名配置,避免 debug/release 混用扭曲比例。
常见问题
Kotlin 代码相似度检测如何工作?
apporig 将 Kotlin 解析为抽象语法树并比对结构指纹,可在各安卓项目间匹配数据类、仓库、视图模型与协程模式。
apporig 能否识别被重命名的 Kotlin 类?
可以。结构分析可发现包名与类名不同但类架构相同的文件。
apporig 是否分析 Jetpack Compose 代码?
支持。可组合函数及相关 Kotlin 逻辑会被解析并比对;Compose 或 XML 中的界面代码在 Kotlin 源码层面分析。
哪些 Kotlin 模式表明模板复用?
相同的 Application 类、复制的 Retrofit 配置、重复的 Room 数据库以及共享的基础 Activity/Fragment。apporig 会标记这些结构模式。
能否比较 Kotlin 多平台模块?
apporig 会分析上传项目中的 Kotlin 源文件,包括与安卓专用代码并列的共享多平台模块。
如何降低各安卓应用之间的 Kotlin 相似度?
重写被标记的数据与领域层,采用不同架构模式(如 MVVM 与 MVI),并避免从模板项目复制基类。
apporig 是否支持 Java 与 Kotlin 混合项目?
支持。Java 与 Kotlin 文件都会被解析并纳入安卓项目分析,混合代码库完全支持。
何谓 Kotlin 结构指纹?
apporig 从 Kotlin 源码提取抽象语法树节点模式并哈希;跨项目相似的指纹表明存在结构克隆,与命名无关。
提交 Google Play 前如何检查 Kotlin?
将所有安卓应用上传到 apporig,查看 Kotlin 相似度,重构 COPY 模块,确认发布前达到 OK。
apporig 能否发现复制的 Kotlin 协程模式?
可以。挂起函数、Flow 操作符与协程作用域模式都属于抽象语法树分析并会跨项目比对。
免费层级是否包含 Kotlin 分析?
包含。上传安卓项目即可在免费 apporig 工作区运行 Kotlin/Java 分析。
apporig 如何处理 Kotlin 脚本的 Gradle 构建文件?
apporig 聚焦应用源码;当构建配置文件包含项目专属逻辑时也会参与比对。