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 },但是还是不起作用,有解决方案吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
这个错误提示表明您的 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 仓库中,可以尝试使用这个方法。
需要注意的是,允许使用不安全的协议可能会增加安全风险,建议在使用时谨慎考虑。同时,在使用这些方法时,也需要根据实际情况进行调整,以确保项目的正常运行。
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,但是好像在之前就会报错,导致我本地添加无效。
在你自己的项目的 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 仓库的页面中找到。