#flutter #flutter-dependencies #video-player
Вопрос:
Я совсем новичок в Flutter и разрабатываю свое первое приложение. До сих пор это действительно язык куола, но в последнее время я столкнулся с некоторыми проблемами.
Я хочу добавить в свое приложение видеоплеер, такой как video_player или chewie. Но каждый раз, когда я это делаю, я больше не могу запускать свое приложение на своем эмуляторе Android. Он отображает это сообщение об ошибке :
Execution failed for task ':app:processDebugMainManifest'.
> Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
> Failed to transform exoplayer-hls-2.14.1.aar (com.google.android.exoplayer:exoplayer-hls:2.14.1) to match attributes {artifactType=android-manifest, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-runtime}.
> Execution failed for AarTransform: C:Usersvalen.gradlecachestransforms-2files-2.1b2ea5e05fb4fb851184e9b0af980bf49jetified-exoplayer-hls-2.14.1.
> Cannot parse result path string:
> Failed to transform exoplayer-dash-2.14.1.aar (com.google.android.exoplayer:exoplayer-dash:2.14.1) to match attributes {artifactType=android-manifest, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-runtime}.
> Execution failed for AarTransform: C:Usersvalen.gradlecachestransforms-2files-2.1f09b8ddd78b021f724ecbb270644c7efjetified-exoplayer-dash-2.14.1.
> Cannot parse result path string:
> Failed to transform exoplayer-smoothstreaming-2.14.1.aar (com.google.android.exoplayer:exoplayer-smoothstreaming:2.14.1) to match attributes {artifactType=android-manifest, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-runtime}.
> Execution failed for AarTransform: C:Usersvalen.gradlecachestransforms-2files-2.1d9c8ace75a2893fac3be87cf34cd39b5jetified-exoplayer-smoothstreaming-2.14.1.
> Cannot parse result path string:
> Failed to transform exoplayer-core-2.14.1.aar (com.google.android.exoplayer:exoplayer-core:2.14.1) to match attributes {artifactType=android-manifest, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-runtime}.
> Execution failed for AarTransform: C:Usersvalen.gradlecachestransforms-2files-2.160b85d32c76f6174d43e445a6aa2cefbjetified-exoplayer-core-2.14.1.
> Cannot parse result path string:
> Failed to transform exoplayer-extractor-2.14.1.aar (com.google.android.exoplayer:exoplayer-extractor:2.14.1) to match attributes {artifactType=android-manifest, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-runtime}.
> Execution failed for AarTransform: C:Usersvalen.gradlecachestransforms-2files-2.1b712161584c0f03d21bcedf0af2bd366jetified-exoplayer-extractor-2.14.1. > Cannot parse result path string:
> Failed to transform exoplayer-common-2.14.1.aar (com.google.android.exoplayer:exoplayer-common:2.14.1) to match attributes {artifactType=android-manifest, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-runtime}.
> Execution failed for AarTransform: C:Usersvalen.gradlecachestransforms-2files-2.19c869d6c39afd30e0ee6a960de621a9bjetified-exoplayer-common-2.14.1.
> Cannot parse result path string:
Каким-то образом это отлично работает на Chrome.
После некоторых исследований я обнаружил, что это может быть связано с версией Android, но после попытки обновить обе AndroidManifest.xml и build.gradle Я еще не нашел рабочего решения.
У кого-нибудь есть решение этой проблемы ? Я был бы очень признателен за некоторую помощь
Итак, вот мое андроидное проявление :
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.onyvideoplayer">
<application
android:label="onyvideoplayer"
android:icon="@mipmap/ic_launcher">
<activity
android:name=".MainActivity"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
<!-- Specifies an Android theme to apply to this Activity as soon as
the Android process has started. This theme is visible to the user
while the Flutter UI initializes. After that, this theme continues
to determine the Window background behind the Flutter UI. -->
<meta-data
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"
/>
<!-- Displays an Android View that continues showing the launch screen
Drawable until Flutter paints its first frame, then this splash
screen fades out. A splash screen is useful to avoid any visual
gap between the end of Android's launch screen and the painting of
Flutter's first frame. -->
<meta-data
android:name="io.flutter.embedding.android.SplashScreenDrawable"
android:resource="@drawable/launch_background"
/>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<!-- Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
<meta-data
android:name="flutterEmbedding"
android:value="2" />
</application>
</manifest>
и моего телосложения. :
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 plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
compileSdkVersion 30
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
sourceSets {
main.java.srcDirs = 'src/main/kotlin'
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.onyvideoplayer"
minSdkVersion 16
targetSdkVersion 30
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
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 {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}
Hope someone can help me on this one ! Much love !