You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin随机颜色生成器无法运行,求助解决Stub!异常

问题原因与解决方案

错误原因

你使用的android.graphics.Color是Android SDK专属类,这类类在非Android运行环境(比如普通Kotlin/JVM项目的main函数)中仅提供Stub空实现——方法内部直接抛出RuntimeException: Stub!,因为它们只能在Android系统/模拟器的应用上下文里执行,无法在本地JVM独立运行。

解决方案

场景1:普通Kotlin/JVM项目生成随机颜色

无需依赖Android类,直接用纯Kotlin实现颜色生成逻辑:

import kotlin.random.Random

fun main() {
    val rnd = Random.Default
    // 生成RGB三色分量(范围0-255)
    val red = rnd.nextInt(256)
    val green = rnd.nextInt(256)
    val blue = rnd.nextInt(256)

    // 生成标准十六进制颜色字符串(带#前缀)
    val hexColor = String.format("#%02X%02X%02X", red, green, blue)
    println("随机十六进制颜色:$hexColor")

    // 如果需要和Android Color.argb返回的Int格式一致(ARGB,alpha=255)
    val argbColorInt = (255 shl 24) or (red shl 16) or (green shl 8) or blue
    println("ARGB格式Int值:$argbColorInt")
}

场景2:Android项目中使用原逻辑

如果是在Android应用里需要生成随机颜色,不要用main函数直接运行,而是将代码放到Android组件(如Activity、Fragment、ViewModel)中执行,或者使用Android Instrumented Test环境运行,此时android.graphics.Color就能正常工作。

内容的提问来源于stack exchange,提问作者Alex Jordan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 18:12:10