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

ImageFactory实例创建失败:BitmapImageFactory类找不到问题求助

问题分析与解决方案

问题描述

读取本地Bitmap文件并执行目标检测时,调用ImageFactory.getInstance()创建实例失败,核心报错为找不到ai.djl.android.core.BitmapImageFactory类。

代码片段

val imageFactory1 = ImageFactory.getInstance()

报错信息

Caused by: java.lang.IllegalStateException: Create new ImageFactory failed!
Caused by: java.lang.ClassNotFoundException: ai.djl.android.core.BitmapImageFactory
Caused by: java.lang.ClassNotFoundException: Didn't find class "ai.djl.android.core.BitmapImageFactory" on path: DexPathList[[zip file "/data/app/com.example.imageclassification2-_snYrn7mbGjXlperEzCKWg==/base.apk"],nativeLibraryDirectories=[/data/app/com.example.imageclassification2-_snYrn7mbGjXlperEzCKWg==/lib/arm64, /data/app/com.example.imageclassification2-_snYrn7mbGjXlperEzCKWg==/base.apk!/lib/arm64-v8a, /system/lib64, /system/vendor/lib64]]

核心原因

BitmapImageFactory是DJL(Deep Java Library)安卓适配包中负责处理Bitmap格式图像的实现类,当前项目未引入对应的DJL安卓依赖,导致系统找不到该类。

解决方案

1. 添加DJL安卓核心依赖

在Module级build.gradle文件中添加DJL安卓核心库依赖:

dependencies {
    // DJL安卓核心库,包含BitmapImageFactory实现
    implementation 'ai.djl.android:core:0.25.0'
    // 若需目标检测功能,补充模型库依赖
    implementation 'ai.djl.android:model-zoo:0.25.0'
}

版本号可根据DJL官方最新稳定版调整。

2. 清理重建项目

添加依赖后执行以下操作:

  • 点击Android Studio的Build -> Clean Project
  • 再点击Build -> Rebuild Project
  • 必要时重启Android Studio避免缓存干扰

3. 处理Multidex与混淆问题

如果项目启用了Multidex:

  • 确认build.gradle中Multidex配置开启:
android {
    defaultConfig {
        multiDexEnabled true
    }
}
  • 若存在混淆问题,在proguard-rules.pro中添加规则:
-keep class ai.djl.android.core.BitmapImageFactory { *; }

补充说明

BitmapImageFactory是DJL专为安卓平台设计的图像工厂实现,负责将安卓Bitmap对象转换为DJL框架可处理的Image实例,是安卓环境下使用DJL处理图像的核心组件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 10:05:29