Flutter-geolocator: アプリでコンパイルできません。

作成日 2020年04月07日  ·  3コメント  ·  ソース: Baseflow/flutter-geolocator

🐛バグレポート

これをアプリで使用しようとしましたが、コンパイルできません。 pubspec.yamlで「geolocator:^ 5.3.1」を使用して試しましたが、これらのエラーが発生したため、アプリを直接開いて例を実行したときに問題なくコンパイルされたパッケージ「location_permissions」のソースと一緒にソースをダウンロードしました。 しかし、Androidアプリに追加すると、これが表示されます。

location_permissionsパッケージの使用に関するある種の問題。

F:_WORK_FLUTTERflutter-permission-plugins-developpackageslocation_permissionsandroidsrcmainjavacombaseflowlocation_permissionsLocationPermissionsPlugin.java:284:エラー:シンボルが見つかりません
|| (Build.VERSION.SDK_INT> = Build.VERSION_CODES.Q && permit.equals(Manifest.permission.ACCESS_BACKGROUND_LOCATION));
^
記号:変数Q
場所:クラスVERSION_CODES
F:_WORK_FLUTTERflutter-permission-plugins-developpackageslocation_permissionsandroidsrcmainjavacombaseflowlocation_permissionsLocationPermissionsPlugin.java:284:エラー:シンボルが見つかりません
|| (Build.VERSION.SDK_INT> = Build.VERSION_CODES.Q && permit.equals(Manifest.permission.ACCESS_BACKGROUND_LOCATION));
^
シンボル:変数ACCESS_BACKGROUND_LOCATION
場所:クラスの許可
F:_WORK_FLUTTERflutter-permission-plugins-developpackageslocation_permissionsandroidsrcmainjavacombaseflowlocation_permissionsLocationPermissionsPlugin.java:310:エラー:シンボルが見つかりません
if(Build.VERSION.SDK_INT> = Build.VERSION_CODES.Q && hasPermissionInManifest(Manifest.permission.ACCESS_BACKGROUND_LOCATION、context)){
^
記号:変数Q
場所:クラスVERSION_CODES

構成

build.gradleを変更しました

アンドロイド{
compileSdkVersion 29

そして私はAndroidXを使用しています

しかし、同じエラー。

最も参考になるコメント

ルートbuild.gradle内に次のコードを配置しました。

ext {
    compileSdkVersion = 29
}

subprojects { subproject ->
    afterEvaluate{
        if((subproject.plugins.hasPlugin('android') || subproject.plugins.hasPlugin('android-library'))) {
            android {
                compileSdkVersion rootProject.ext.compileSdkVersion
            }
        }
    }
}

そしてアプリbuild.gradleで:

android {
    compileSdkVersion rootProject.ext.compileSdkVersion
}

それは私のために働いた!

全てのコメント3件

ルートbuild.gradle内に次のコードを配置しました。

ext {
    compileSdkVersion = 29
}

subprojects { subproject ->
    afterEvaluate{
        if((subproject.plugins.hasPlugin('android') || subproject.plugins.hasPlugin('android-library'))) {
            android {
                compileSdkVersion rootProject.ext.compileSdkVersion
            }
        }
    }
}

そしてアプリbuild.gradleで:

android {
    compileSdkVersion rootProject.ext.compileSdkVersion
}

それは私のために働いた!

ext {
compileSdkVersion = 29
}

サブプロジェクト{サブプロジェクト->
afterEvaluate {
if((subproject.plugins.hasPlugin( 'android')|| subproject.plugins.hasPlugin( 'android-library'))){
アンドロイド{
compileSdkVersion rootProject.ext.compileSdkVersion
}
}
}
}

私のためにも働いた! ありがとう!

@MigoTitiが解決策を提供したようで、他のフィードバックが受信されなかったため、この問題を解決します。 @MigoTitiは、動作を確認してくれた@MarcioAlexandroniにも感謝します。

このページは役に立ちましたか?
0 / 5 - 0 評価