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

如何编译Google Vision API库?集成时遇multidex编译错误求解决

解决Google Vision API集成的Multidex编译错误 & 库编译指南

我帮你梳理下解决这个编译错误的办法,以及Google Vision API库的编译方式:

一、搞定Multidex相关的编译报错

你碰到的这个错误,核心是Multidex配置不到位,再加上旧版Guava库和Google Vision API的依赖冲突导致的。可以按下面的步骤一步步排查:

  • 检查Multidex配置是否完整
    打开你的build.gradle (Module: app)文件,确保已经开启Multidex并添加了依赖:

    android {
        defaultConfig {
            // 其他原有配置保持不变
            multiDexEnabled true
        }
    }
    
    dependencies {
        // 引入Multidex依赖
        implementation 'com.android.support:multidex:1.0.3'
    }
    

    如果你的App有自定义的Application类,要么让它继承MultiDexApplication,要么在attachBaseContext方法里手动初始化Multidex:

    public class MyApp extends Application {
        @Override
        protected void attachBaseContext(Context base) {
            super.attachBaseContext(base);
            MultiDex.install(this);
        }
    }
    

    别忘了在AndroidManifest.xml的<application>标签里指定这个自定义Application类。

  • 解决Guava库版本冲突
    错误日志里提到的guava-jdk5-17.0.jar是个比较老的版本,很可能和Vision API依赖的高版本Guava冲突。你可以强制项目使用统一的Guava版本:

    configurations.all {
        resolutionStrategy.force 'com.google.guava:guava:28.1-android'
    }
    

    或者在引入Vision API依赖时直接排除掉旧版的Guava:

    implementation('com.google.android.gms:play-services-vision:20.1.3') {
        exclude group: 'com.google.guava', module: 'guava-jdk5'
    }
    
  • 清理重建项目
    做完上面的配置后,先执行File > Invalidate Caches / Restart重启Android Studio,然后用命令行运行./gradlew clean assembleDebug,或者在AS里点击Build > Clean Project再Rebuild Project。

二、Google Vision API库的编译方式

通常情况下,我们不需要手动编译Google Vision API库,直接通过Gradle依赖引入官方预编译的版本就够了:
在build.gradle (Module: app)的dependencies块里添加:

implementation 'com.google.android.gms:play-services-vision:20.1.3'

这个版本是经过验证的稳定版,你可以根据项目需求更新到最新版本。

如果确实需要手动编译(比如要定制修改源码),可以按以下步骤操作:

  1. 首先需要获取Google Play Services的源码(注意:部分源码需要权限才能访问)
  2. 确保本地环境配置好了对应的Android SDK、NDK,版本要符合项目要求
  3. 进入项目根目录,执行Gradle编译命令:
    ./gradlew :play-services-vision:assembleRelease
    
    编译完成后,生成的aar文件会在play-services-vision/build/outputs/aar/目录下,你可以把这个aar作为本地依赖导入自己的项目使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:03:33