年末重磅 全网Kotlin Multiplatform首个LocalStableDiffusion应用开发之旅A

60 阅读3分钟

全网 Kotlin Multiplatform 首个本地小语言模型(SLM)对话应用开发之旅C

全网 Kotlin Multiplatform 首个本地小语言模型(SLM)对话应用开发之旅B

全网 Kotlin Multiplatform 首个本地小语言模型(SLM)对话应用开发之旅A

前言

有一说一,都2025年了,移动互联网早日江河日下,但鲁迅可就不服了,他说,路就是人走出来的,只要人走多的多了,路就出来了

以前看着别人本地跑Stable Diffusion 几秒出图就很羡慕,我如果有这么强的显卡就好了,这么强的显卡,拿来玩游戏该有多爽呀,最近玩3a大作都只能开中低特效,整个屏幕都糊糊,可恶呀

话说回来,目前Android端的StableDiffusion都是套着一副webui client的样子,真是气都冷,Android开发已经这么没落了吗,重振Android荣光,我辈义不容辞,必须从此刻做起,MAGA(Make Android Great Again)是我的梦想,这是我此生能做的事情

那就从这里开始吧 🐯KMP-MineStableDiffusion: Run Stable Diffusion on Android and Desktop Devices with CPU/GPU inference

准备

作为一名切图仔,很多东西都是不懂的,没办法,得找一名强大的外援了

不像Kotlin这般没落,C++辈可谓人才辈出,就如下面这个

leejet/stable-diffusion.cpp

对于这个库只能这么说 good,very good ,super good

介绍一下,Stable Diffusion C++ 是一个基于纯 C/C++ 实现的 Stable Diffusion 和 Flux 推理项目

  • 基于 ggml 的纯 C/C++ 实现,非常轻量级,适合性能低下设备
  • 支持各种硬件平台
    • CPU (AVX, AVX2 and AVX512 support for x86 architectures)
    • CUDA
    • Vulkan
    • Metal
    • OpenCL
    • SYCL
  • 支持图生图,图生文,图生视频

我们要的就是图生图,兄弟们,看到这里,凭通用性来说,我们可以取到通用的加速处理,没错,正是Vulkan 打游戏见到最多的就是这家伙了,游戏跨平台引擎,我们Kotlin Multiplatform也用这个, 虽然Kotlin很没落,但它跟Native层的交互还算友好

UI开发

老样子,没有审美的切图仔,只知道Control C 和Control V,那就盗用之前的处理过的缝合怪UI吧,对话应用开发之旅B,懒惰的人就是这样缝缝补补的,将原先写的GPT的返回文本消息类型改成图片消息类型就OK了

splash.png

AndroidDesktop
android_screenshot_3.gif屏幕截图 2025-12-23 214944.png

UI源码:KMP-MineStableDiffusion-UI

联通Native层

还是咱们的老朋友呀,JNI桥梁搭建,老三件套

  • 初始化Native
  • 先做图生图,那就是文本输入,图片返回处理C层交互
  • 释放资源,先简单Deemo,管有的没的,这部不处理也可以

这里需要注意的C层的返回的是原始的RBG图片数据,到应用层还需重新封装成PNG编码

image.png

JNI源码:KMP-MineStableDiffusion-CPP

测试模型

sd_xl_turbo_1.0_fp16.safetensors

结论

  • 哈哈,速度比较糟糕🤣🤣🤣
  • 尽可能找一些七步成诗(图)的模型🐔🐔🐔

萍水相逢,尽是他乡之客 关山难越,谁悲失路之人,诸君,来Kotlin Multiplatform的伟大航路吧!

各平台下载

One Step By Step

系统格式下载链接说明
AndroidapkMineStableDiffusion-1.3.0.apk
Windows X86_64zipMineStableDiffusion-1.3.0-windows-x86_64.zip
Windows X86_64exeMineStableDiffusion-1.3.0-windows-x86_64.exe
Windows X86_64msiMineStableDiffusion-1.3.0-windows-x86_64.msi
macOS X86_64DMGMineStableDiffusion-1.3.0-macos-x86_64.dmgsudo xattr -d com.apple.quarantine /Applications/MineStableDiffusion.app 或在设置-隐私与安全性中点击仍要打开
macOS Arm64DMGMineStableDiffusion-1.3.0-macos-aarch64.dmgsudo xattr -d com.apple.quarantine /Applications/MineStableDiffusion.app 或在设置-隐私与安全性中点击仍要打开
Linux X86_64AppImageMineStableDiffusion-1.3.0-linux-x86_64.AppImage
Linux X86_64DebMineStableDiffusion-1.3.0-amd64.deb
Linux X86_64RPMMineStableDiffusion-1.3.0-x86_64.rpm