みなさん、こんにちは。
名前:flutter_app
説明:新しいFlutterアプリケーション。
バージョン:1.1.0 + 1
環境:
sdk: "> = 2.1.0 <3.0.0"
依存関係:
フラッター:
SDK:フラッター
cupertino_icons:^ 0.1.2
ジオロケーター:^ 3.0.1
permit_handler:^ 3.0.0
メタ:^ 1.1.6
google_api_availability:^ 2.0.0
dev_dependencies:
flutter_test:
SDK:フラッター
flutter_launcher_icons:^ 0.6.1
flutter_icons:
image_path: "assets / img / location.png"
アンドロイド:本当
フラッター:
使用-マテリアルデザイン:true
資産:
--assets / img / location.png
--assets / img / gps.png
--assets / img / no_gps.png
import'package:flutter / Material.dart ';
import'package:geolocator / geolocator.dart ';
クラスLocationPageはStatefulWidgetを拡張します{
@オーバーライド
LocationPageState createState()=> LocationPageState();
}
クラスLocationPageStateはStateを拡張します
initLocation()async {
位置position = await Geolocator()。getCurrentPosition(desiredAccuracy:LocationAccuracy.high);
print(position);
}
initState(){
super.initState();
initLocation();
}
@オーバーライド
ウィジェットビルド(BuildContextコンテキスト){
Scaffold(...);を返します。
}
flutter_appで「flutterpackagesget」を実行しています... 0.6秒
デバッグモードのMI6でlib / main.dartを起動しています...
Gradleを初期化しています...
依存関係を解決しています...
Gradleタスク 'assembleDebug'を実行しています...
失敗:ビルドは例外で失敗しました。
何が悪かったのか:
タスク ': app:preDebugBuild 'の実行に失敗しました。
Androidの依存関係 'androidx。 core:core 'には、コンパイル(1.0.0)クラスパスとランタイム(1.0.1)クラスパスのバージョンが異なります。 DependencyResolutionを使用して同じバージョンを手動で設定する必要があります
試す:
--stacktraceオプションを指定して実行し、スタックトレースを取得します。 --infoまたは--debugオプションを指定して実行すると、より多くのログ出力が得られます。 --scanを指定して実行すると、完全な洞察が得られます。
https://help.gradle.orgでさらにヘルプを入手して
4秒でビルドに失敗しました
Gradleの失敗は、このFlutterアプリのAndroidXの非互換性が原因である可能性があります。
問題とその修正方法の詳細については、 https://goo.gl/CP92wYを参照して
エラーで終了:GradleタスクassembleDebugが終了コード1で失敗しました
フラッターラン-d
バージョン: 3.0.1
プラットホーム:
[✓]フラッター(チャンネル安定版、v1.2.1、Mac OS X 10.13.6 17G65、ロケールen-UA)
[✓] Androidツールチェーン-Androidデバイス用に開発(Android SDKバージョン28.0.3)
[✓] iOSツールチェーン-iOSデバイス用に開発(Xcode 10.1)
[✓] Android Studio(バージョン3.3)
[✓] VS Code(バージョン1.31.1)
[✓]接続されたデバイス(1つ利用可能)
•問題は見つかりませんでした。
私の場合、Androidの移行をgradleプロパティファイルに追加してから、クラスパス 'com.android.toolsを変更しました。 build: gradle:3.2.1 'からクラスパス' com.android.toolsへ。 build:gradle :3.3.1 '。 geolocator3.0.1を使用しているim。 このリンクhttps://www.youtube.com/watch?v=ZRl4t2KdEHQをたどってから、上記の内容を実行して
私
私の場合、Androidの移行をgradleプロパティファイルに追加してから、クラスパス 'com.android.toolsを変更しました。 build: gradle:3.2.1 'からクラスパス' com.android.toolsへ。 build:gradle :3.3.1 '。 geolocator3.0.1を使用しているim。 このリンクhttps://www.youtube.com/watch?v=ZRl4t2KdEHQをたどってから、上記の内容を実行して
(android.useAndroidX = true
android.enableJetifier = true)
Gradleのプロパティに感謝します
@ aidooyaw1992に感謝します。クラスパスを3.3.1に変更しても、私にとっては
私
私の場合、Androidの移行をgradleプロパティファイルに追加してから、クラスパス 'com.android.toolsを変更しました。 build: gradle:3.2.1 'からクラスパス' com.android.toolsへ。 build:gradle :3.3.1 '。 geolocator3.0.1を使用しているim。 このリンクhttps://www.youtube.com/watch?v=ZRl4t2KdEHQをたどってから、上記の内容を実行して
(android.useAndroidX = true
android.enableJetifier = true)
Gradleのプロパティに感謝します
私はこれらのセットを持っていて、同じ問題が起こっていました。
私にとって解決したのは、 @ aidooyaw1992からのgradle :3.3.1に変更しました
ありがとう、@ aidooyaw1992!
どういたしまして
2019年3月18日月曜日、17:17マテウス・エンリケ・デ・オリベイラ、<
[email protected]>は次のように書いています:
私
私の場合、Androidの移行をgradleプロパティファイルに追加し、
次に、クラスパス 'com.android.toolsを変更しました。 build:gradle :3.2.1 'からクラスパスへ
'com.android.tools。 build:gradle :3.3.1 '。 geolocator3.0.1を使用しているim。 従う
このリンクhttps://www.youtube.com/watch?v=ZRl4t2KdEHQそして私が何をするか
上で言った(android.useAndroidX = true
android.enableJetifier = true)
Gradleのプロパティに感謝します私はこれらのセットを持っていて、同じ問題が起こっていました。
私にとって解決したのは@ aidooyaw1992からのヒントでした
https://github.com/aidooyaw1992 、クラスパスをgradle:3.3.1に変更します。ありがとう、 @ aidooyaw1992 https://github.com/aidooyaw1992 !
—
あなたが言及されたので、あなたはこれを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/BaseflowIT/flutter-geolocator/issues/228#issuecomment-474014943 、
またはスレッドをミュートします
https://github.com/notifications/unsubscribe-auth/AIG4X9VG3JH5L3NctGCqQ0NzTDuWl3XGks5vX8obgaJpZM4brXKj
。
参照: https :
似ています。
私は仲間がいます...同じ問題に直面すると、クラスパスを3.2.1からgradle:3.3.0 (3.3.1ではなく)に変更することで解決しました。 また、(android.useAndroidX = true
android.enableJetifier = true)からgradle.properties...。
どちらがそれを起こしたのかわからない...
たくさんのタク、ファターチーム...
皆さん、変更を加えたファイルを教えていただければ幸いです。 com.android.tools.build:gradle:
検索し、一致するものが1つ見つかりましたが、別のエラーが発生します。
Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
> com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
編集:
classPathの変更はAndroidフォルダーのルートにあり、ファイルbuild.gradle
2つのブール値はAndroidフォルダーのルートにもあり、ファイルgradle.properties
、2行を追加するだけです
今では動作します。
プロパティをランダムに変更するのは危険ではありませんか? それでも古いAndroidバージョンと互換性がありますか?
@Robouste 、問題は、AndroidXをサポートするようにGeolocatorプラグインをアップグレードしたことです(また、古いAndroidバージョンとの互換性もあります)。 これは、次の手順に従って実行できるアプリもアップグレードする必要があることを意味します。
https://github.com/BaseflowIT/flutter-geolocator/issues/196#issuecomment -465460801
アプリレベルでスクリプトを追加してみてください
サブプロジェクト{
project.evaluationDependsOn( ':app')
project.configurations.all {
resolutionStrategy.eachDependency {詳細->
if(details.requested.group == 'com.android.support'
&&!details.requested.name.contains( 'multidex')){
details.useVersion "28.0.0"
}
}
}
}
if(details.requested.group == 'androidx.core'
&&!details.requested.name.contains( 'androidx')){
details.useVersion "1.0.1"
}
ビルドプロジェクトにandroid.enableJetifier = trueとandroid.useAndroidX = trueを追加し、クラスパスを3.3.1に変更することで、正常に機能します。
以下は私の問題を解決しました
(1)gradleプロパティに2行を追加する
android.enableJetifier = true
android.useAndroidX = true
(2)ルートgradleに以下を追加します
サブプロジェクト{
project.evaluationDependsOn( ':app')
project.configurations.all {
resolutionStrategy.eachDependency {詳細->
if(details.requested.group == 'com.android.support'
&&!details.requested.name.contains( 'multidex')){
details.useVersion "29.0.0"
}
}
}
}
私にとっては、私はGradleのプロパティファイルにAndroidの移行を加え、次いでclasspath'com.android.tools.build変更:Gradleのclasspath'com.android.tools.buildに3.2.1'を: :Gradleの:3.3。 1 '。インスタントメッセージングにgeolocator3.0.1を使用しています。このリンクhttps://www.youtube.com/watch?v=ZRl4t2KdEHQをたどってから、上記のことを実行して問題を解決してください。ありがとうございます。
私のために働いたaidooyaw1992に感謝します。
私が抱えていたもう1つの問題は、intl 0.16がflutter_localizationsと互換性がないことでしたが、宣言することはできます
依存関係:
..。
flutter_localizations:
SDK:フラッター
intl:0.15.8
..。
その後、オーバーライドします
依存関係オーバーライド:
intl:^ 0.16.0
そしてそれはintl ^ 0.16.0への依存関係のために働きます
最も参考になるコメント
私の場合、Androidの移行をgradleプロパティファイルに追加してから、クラスパス 'com.android.toolsを変更しました。 build: gradle:3.2.1 'からクラスパス' com.android.toolsへ。 build:gradle :3.3.1 '。 geolocator3.0.1を使用しているim。 このリンクhttps://www.youtube.com/watch?v=ZRl4t2KdEHQをたどってから、上記の内容を実行して