web-dev-qa-db-ja.com

最初のFlutterアプリエラー:シンボル「プロパティ」を解決できません

Flutterドキュメントの手順に従って、Intellij IDEAで最初のFlutterアプリをビルドしようとしました。実行しようとすると、Java_HOME変数に関するエラーが発生しました。また、build.gradleファイル内のシンボル「プロパティ」を解決できないというエラーが発生します。どうすればいいかわからない。

これは、コンソールウィンドウに表示されるエラー情報です。

Launching lib\main.Dart on Android SDK built for x86 in debug mode...
Initializing gradle...
Finished with error: ProcessException: Process 
"F:\untitled\Android\gradlew.bat" exited abnormally:

ERROR: Java_HOME is set to an invalid directory: F:\Google download\jdk- 
10.0.1_windows-x64_bin.exe

Please set the Java_HOME variable in your environment to match the
location of your Java installation.
  Command: F:\untitled\Android\gradlew.bat -v

実際、Java_HOME変数には何の問題もありません。適切なディレクトリC:\ Program Files(x86)\ Java\jdk1.8.0_131に設定しました。

「F:\ untitled\Android\gradlew.bat -v」の上に表示されるコマンドを実行すると、gradleバージョンが更新されたように見えましたが、エラーは解決しませんでした。

そして、これはbuild.gradleファイルのコードです。

def localProperties = new Properties() 
//there will be a highlight on Properties indicates that 'cannot resolve symbol "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.")
//the same as the Properties on GradleException
}

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 28

    lintOptions {
        disable 'InvalidPackage'
    }

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.Android.com/studio/build/application-id.html).
        applicationId "com.example.untitled"
        minSdkVersion 16
        targetSdkVersion 28
        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'
}
15
Wellen

この問題は、正しいAndroid APIプラットフォームを指していないために発生します

ソリューション:

Android Studioファイル>プロジェクト構造

  1. ウィンドウがポップアップします
  2. その中でProject Settings/Projectを選択します
  3. 下の写真にあるように、Project SDKが最新のプラットフォームに設定されていることを確認してください

enter image description here

  1. 次に、プロジェクト設定/モジュールサブタブを選択します
  2. そこから最新のものを選択Android先ほど選択したSDK

enter image description here

  1. 最後に、下記のようにGradleException()をFileNotFoundException()に置き換えます。

enter image description here

あなたの「project\Android\build.gradle」で次のように変更してください:

classpath 'com.google.gms:google-services:4.3.2'

に:

classpath 'com.google.gms:google-services:4.0.2'
0
Thiago Telles

それは私のために働いています:

  1. File> Project Structure(Command +;)> Under Project Settings/Project> Set Project SDK to Android API 29 Platform
  2. Project Structure/Problemsの依存関係リストに無効なアイテムがあることを示す通知が表示されます。存在する場合は、プロジェクト構造>プロジェクト設定/モジュール> app_name_Android>依存関係タブ>モジュールSDKボックスで最新の「Android API 29プラットフォーム」を選択します
  3. JavaバージョンAndroid API 29)ではサポートされていないため、Android/app/build_gradleでGradleException()FileNotFoundException()に更新します 見つかったソリューション
0
Aslam Hossin

Android Studioで同じ問題が発生しました。これはFlutterプラグインのバグのようですので、Intellijでも問題がある可能性が高いです。= Android Studio 「Android Studio)で編集のために開く」(右上)へのリンクがあります。クリックすると、ハイライト表示されている問題はもうありません。IntelliJで同様のリンクを確認します。これが私がこれを知ったFlutterの問題です https://github.com/flutter/flutter/issues/37391

0
rkunboxed

Flutterドキュメントによると https://flutter.dev/docs/development/tools/Android-studio#Android-ide

Flutterプロジェクトのルートディレクトリを開いても、すべてのAndroidファイルがIDEに公開されるわけではありません。 Flutterアプリには、Androidという名前のサブディレクトリが含まれています。このサブディレクトリを独自のプロジェクトとしてAndroid St​​udioで開くと、IDEはすべてのAndroidファイルの編集とリファクタリングを完全にサポートできます(Gradleスクリプトなど)。 )。

0
Ivan Maymeskul

同じ問題があります。 Androidモジュールを最初に別のタブでASを使用して開かずに編集しているため、このエラーが発生します([ツール]-> [フラッター]-> [開く] Androidモジュール..))。それから私は解決策を持っています、あなたのAndroid Studio(File-> Invalidate Chache/Restart))で再起動して、chacheを殺してください。

それは私のために修正されました、あなたも願っています

https://github.com/flutter/flutter/issues/29608#issuecomment-528243662

0
Yusin Kim