开发者社区 问答 正文

flutter引入包 flutter_aliplayer: ^5.4.9 出现错误

flutter引入包 flutter_aliplayer: ^5.4.9 后一直出现错误**'maven(http://maven.aliyun.com/nexus/content/repositories/releases)' to redirect to a secure protocol (like HTTPS) or allow insecure protocols **我尝试过在我自己的build.gradle文件中添加maven { url "http://maven.aliyun.com/nexus/content/repositories/releases" allowInsecureProtocol = true },但是还是不起作用,有解决方案吗?

展开
收起
游客xd7ipdaqb4lz6 2023-05-06 07:55:49 401 分享 版权
来自: 阿里云视频云
3 条回答
写回答
取消 提交回答
  • 值得去的地方都没有捷径

    这个错误提示表明您的 Flutter 项目在尝试从 http://maven.aliyun.com/nexus/content/repositories/releases 下载依赖时,被重定向到了一个不安全的协议(如 HTTP),而 Flutter 默认情况下只允许使用安全的协议(如 HTTPS)。为了解决这个问题,您可以尝试以下方法:

    在 android/app/build.gradle 文件中添加以下代码: repositories { maven { url "http://maven.aliyun.com/nexus/content/repositories/releases" allowInsecureProtocol true } } gradle 这个方法的作用是在 Android 项目的 Gradle 配置中添加指定的 Maven 仓库,并允许使用不安全的协议进行下载。如果您的 Flutter 项目只在 Android 平台上运行,可以尝试使用这个方法。

    在 pubspec.yaml 文件中指定使用 HTTPS 协议下载依赖。例如: environment: sdk: ">=2.12.0 <3.0.0" dependency_overrides: flutter_aliplayer: git: url: https://github.com/alibaba/flutter_aliplayer.git ref: master yaml 这个方法的作用是在 dependency_overrides 中指定使用 HTTPS 协议从 Git 仓库下载依赖。如果您的依赖在 Git 仓库中,可以尝试使用这个方法。

    需要注意的是,允许使用不安全的协议可能会增加安全风险,建议在使用时谨慎考虑。同时,在使用这些方法时,也需要根据实际情况进行调整,以确保项目的正常运行。

    2023-05-06 16:52:13
    赞同 展开评论
  • allprojects {
        repositories {
            google()
            mavenCentral()
            // 阿里云
            // maven {
            //     url 'https://repo1.maven.org/maven2/'
            // }
            // maven {
            //     allowInsecureProtocol = true
            //     url "http://maven.aliyun.com/repository/releases"
            // }
            maven { 
                url "http://maven.aliyun.com/nexus/content/repositories/releases"
                allowInsecureProtocol = true
            }
            // maven { url'https://maven.aliyun.com/repository/google'}
            // maven { url'https://maven.aliyun.com/repository/public'}
            // maven { url'https://maven.aliyun.com/repository/central'}
            flatDir {
                dirs 'libs'
            }
        }
    }
    
    
        ext {
            gradle_version = '7.4.2'
            kotlin_version = '1.8.0'
        }
    

    这是我的build.gradle,我添加了还是存在问题,只要是我引入这个插件都会出错,就算我不使用他,我也尝试过本地添加安卓播放器SDK,但是好像在之前就会报错,导致我本地添加无效。

    2023-05-06 09:57:04
    赞同 展开评论
  • 在你自己的项目的 build.gradle 文件中添加 maven 仓库和一个 SSL 的配置就可以解决这个问题,以下是示例代码:

    allprojects {
        repositories {
            maven { url "http://maven.aliyun.com/nexus/content/repositories/releases" }
            maven { url "https://jcenter.bintray.com" }
            mavenCentral()
            google()
        }
    }
    
    // 配置 SSL,如果需要可以添加
    buildscript {
        repositories {
            jcenter()
            maven {
                url "http://maven.aliyun.com/nexus/content/repositories/releases"
                allowInsecureProtocol = true
            }
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:3.3.2'
            ...
        }
    }
    

    请注意这里添的是 allprojects,不是 buildscript,buildscript 添加的只是 gradle 插件依赖库。

    然后在 flutter_aliplayer 相关模块的单独 build.gradle 文件中添加依赖,如下所示:

    dependencies {
        implementation 'com.aliyun.downloader:AliyunDownloader:x.x.x'
        implementation 'com.aliyun.player:AliyunPlayer:x.x.x'
        implementation 'com.aliyun.player:AliyunSubtitle:x.x.x'
    }
    

    具体的版本号需要根据需要更新,通常可以在 Maven 仓库的页面中找到。

    2023-05-06 08:20:09
    赞同 展开评论
问答分类:
关联地址: