簡體   English   中英

將 Flutter 應用程序連接到 Firebase 后,我無法在物理設備上啟動應用程序

[英]I can't launch app on my physical device after connecting my Flutter app to Firebase

我是 Flutter 和 Firebase 的新手。 我的問題是我能夠在我的物理設備上運行我的 Flutter 應用程序以完美地測試用戶界面,但是在我將它連接到 Firebase 並嘗試像以前那樣啟動應用程序之后,它只會運行gradle task 'assemble debug'不到一分鍾並終止,不發送任何反饋或錯誤。

我遵循了這個,這就是我的build.gradle 文件的樣子:

buildscript {
    ext.kotlin_version = '1.6.10'
    repositories {
        google()
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:7.1.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.google.gms:google-services:4.3.12'
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
    }
}

rootProject.buildDir = '../build'
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
    project.evaluationDependsOn(':app')
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

這就是我在 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.google.gms.google-services'
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

android {
    compileSdkVersion flutter.compileSdkVersion

    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.sabra.cadre_permanence_marjane"
        minSdkVersion flutter.minSdkVersion
        targetSdkVersion flutter.targetSdkVersion
        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"
}

我還嘗試更改google-services.json文件中客戶端數組的每個成員中的package_name以匹配(告訴我是否不應該這樣做)並檢查 Flutter 是否識別我的設備以防萬一:

命令提示符:顫動設備

步驟如下:(建議在 Android Studio 中嘗試)

  1. 連接到 firebase 后,在 android->app 文件夾下添加 google-services.json 文件。
  2. 檢查 android 文件夾下是否有任何名為 '[project_name]_android.iml' 的文件。
  3. 如果沒有,請在名為“[project_name]_android.iml”的 android 文件夾下創建一個文件。
  4. 將以下代碼復制粘貼到該文件下。
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$" />
    <orderEntry type="sourceFolder" forTests="false" />
    <orderEntry type="library" name="Dart SDK" level="project" />
  </component>
</module>
  1. 關閉在 IDE 中打開的所有文件。
  2. 轉到任何 build.gradle 文件(項目級別或應用級別)。
  3. 當您打開該文件時,您會在文件頂部看到一個橫幅。 注意在橫幅的右側。 您將看到一個選項“在 Android Studio 中打開以進行編輯”。 單擊該選項。
  4. Android Studio 將要求權限打開一個新窗口。 授予以“新窗口”形式打開的權限。
  5. 等到“Gradle Build”操作完成。 您可以在新打開的窗口底部看到進度。
  6. 完成進度后關閉新窗口。
  7. 撲干凈
  8. 撲吧酒吧
  9. 運行項目。

玩得開心。 謝謝你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM