【发布时间】:2020-01-09 18:04:53
【问题描述】:
我尝试将flute_music_player: ^0.0.6 添加到我的flutter 项目依赖项中
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^0.1.2
flute_music_player: ^0.0.6
并在项目运行后得到以下错误。
无法解析 com.android.support:support-v4:27.1.0。 > 不能 获取资源 'https://dl.google.com/dl/android/maven2/com/android/support/support-v4/27.1.0/support-v4-27.1.0.pom'。
无法 HEAD 'https://dl.google.com/dl/android/maven2/com/android/support/support-v4/27.1.0/support-v4-27.1.0.pom'。 sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException: 无法找到请求目标的有效认证路径
build.gradle (path => project_dir/android/build.gradle)
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
}
}
allprojects {
repositories {
mavenLocal()
jcenter()
maven {
url 'https://maven.google.com'
}
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}
task clean(type: Delete) {
delete rootProject.buildDir
}
android 应用 build.gradle(path => project_dir/android/app/build.gradle)
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
apply plugin: 'com.android.application'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
compileSdkVersion 26
lintOptions {
disable 'InvalidPackage'
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.child_controller"
minSdkVersion 16
targetSdkVersion 27
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.debug
}
}
}
flutter {
source '../..'
}
dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
以下是我的依赖小部件源代码
import "package:flute_music_player/flute_music_player.dart";
import "package:flutter/material.dart";
class MyMusicList extends StatefulWidget {
@override
_MyMusicListState createState() => _MyMusicListState();
}
class _MyMusicListState extends State<MyMusicList> {
List<dynamic> _songs;
@override
void initState() {
super.initState();
initMusicPlayer();
}
void initMusicPlayer() async {
var songs = await MusicFinder.allSongs();
songs = List.from(songs);
setState(() {
_songs = songs;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text("Tap the Song to Play"),
),
body: Container(
child: ListView.builder(
itemCount: (_songs != null) ? _songs.length: 0,
itemBuilder: (context, int index) {
return ListTile(
leading: CircleAvatar(
child: Text(_songs[index].title[0]),
),
title: Text(_songs[index].title),
);
},
),
),
);
}
}
我很确定我的 Android Studio IDE 版本已更新,并且所有支持存储库、依赖项和 API 都已安装。
【问题讨论】:
标签: android windows gradle flutter flutter-dependencies