Flutter:无法解析com.android.support:support-v4:27.1.0

时间:2019-09-06 22:27:14

标签: android windows gradle flutter flutter-dependencies

我试图将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 路径=> 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 app build.gradle 路径=> 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。

1 个答案:

答案 0 :(得分:0)

我尝试并按照以下步骤在 Windows 10 中解决此问题。

防火墙权限

允许应用通过Windows Defender防火墙进行通信。

将Android Studio的两个执行器 studio.exe studio64.exe 添加到了防火墙 (在C:\Program Files\Android\Android Studio\bin内部)

在本地计算机上具有高级安全性的Windows Defender防火墙

在入站和出站规则下允许被阻止的网络连接 Java(TM)Platform SE二进制

Android Studio IDE活动

在终端执行的命令 flutter run --release 中进行签名     与用于开发的调试键。

flutter clean

flutter pub get

File - Save All 

File - Sync with File System 

File - Invalidate Caches / Restart - Invalidate and Restart

// and again after IDE Restart

File - Sync with File System

最后,我的应用程序成功执行。