繁体   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