質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

SDK

SDK(software development kit)は特定のハードウェアのプラットフォーム、開発環境又はソフトウェアパッケージでソフトウェアをつくるのに必要な開発ツールのセットです。SDKはAPI、IDE又は他の開発ツールとフレームワークを組み合わせたもので構成されていることがあります。

Gradle

Gradleは、ビルド自動化ツールです。 ソフトウェアパッケージやドキュメント、 または実際に何か他の種類のプロジェクトの構築、テスト、公開、展開などを自動化が出来ます

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Google マップ

Google Mapは、Google社がオンラインで提供している地図・ローカル検索サービスです。GIS(Geographic Information System:地理情報システム)の中の「WebGIS」に該当します。地図・航空写真・地形の表示方式があり、それぞれユーザーが縮尺を調整して表示させることができます。地域の情報サービスを検索する機能やルート検索の機能も搭載されています。

Q&A

解決済

1回答

5509閲覧

build.gradleにplugins 要素を追加する方法

Jhon_McClane

総合スコア48

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

SDK

SDK(software development kit)は特定のハードウェアのプラットフォーム、開発環境又はソフトウェアパッケージでソフトウェアをつくるのに必要な開発ツールのセットです。SDKはAPI、IDE又は他の開発ツールとフレームワークを組み合わせたもので構成されていることがあります。

Gradle

Gradleは、ビルド自動化ツールです。 ソフトウェアパッケージやドキュメント、 または実際に何か他の種類のプロジェクトの構築、テスト、公開、展開などを自動化が出来ます

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Google マップ

Google Mapは、Google社がオンラインで提供している地図・ローカル検索サービスです。GIS(Geographic Information System:地理情報システム)の中の「WebGIS」に該当します。地図・航空写真・地形の表示方式があり、それぞれユーザーが縮尺を調整して表示させることができます。地域の情報サービスを検索する機能やルート検索の機能も搭載されています。

0グッド

0クリップ

投稿2021/08/27 05:25

編集2021/08/27 06:56

前提・実現したいこと

google map api keyの構築について質問です.(Android Studio)
公式ドキュメントの手順2で躓いています.デフォルトにpluginsが記述されていないため,何処に記述して良いのか分かりません.
内容は,アプリレベルの build.gradle ファイルを開き、下のコードを plugins 要素に追加するだけです.

発生しているエラー

そもそも私のbuild.gradleには,buildscript {} や plugins {} が存在しないため,書くべき場所が分かりません.

stackoverflowにも同じような問題が貼られていましたが,解決できませんでした.

only buildscript {} and other plugins {} script blocks are allowed before plugins {} blocks, no other statements are allowed

試したこと

とりあえず,
build.gradle内のいろんな場所に,以下を挿入してみましたが上手くいきませんでした.

plugins { id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }

補足情報(FW/ツールのバージョンなど)

私のbuild.gradleの中身です.

apply plugin: 'com.android.application' plugins { id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' } android { compileSdkVersion 29 buildToolsVersion "29.0.3" defaultConfig { applicationId "com.example.パッケージ名" minSdkVersion 22 targetSdkVersion 29 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } viewBinding { enabled true } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } dependencies { compile(name: 'SkyWay', ext: 'aar') implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'com.google.android.gms:play-services-maps:17.0.1' //noinspection GradleCompatible implementation 'com.android.support:appcompat-v7:26.1.0' implementation 'com.android.support.constraint:constraint-layout:2.0.4' implementation 'androidx.appcompat:appcompat:1.3.1' implementation 'androidx.constraintlayout:constraintlayout:2.1.0' implementation "androidx.cardview:cardview:1.0.0" implementation 'com.google.android.material:material:1.4.0' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' implementation 'com.google.android.gms:play-services-location:18.0.0' } repositories { flatDir { dirs 'libs' } }

補足

android studio 4.2.2
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2021/08/27 05:56

apply plugin は古い書き方で、最近の Android Studio を使えば plugins になるはず…。
Jhon_McClane

2021/08/27 06:13

Android studio のバージョンを上げれば良いと言うことでしょうか?一様android4.2.2なのですが。。。
hoshi-takanori

2021/08/27 06:25

Android Studio 4.2 で作ったプロジェクトなら plugins になってるはずですが、それ以前の Android Studio で作ったプロジェクトでしょうか? (まぁ、最新は Arctic Fox ですが…。) エラーメッセージを読むと plugins の前に apply plugin があるのが気に入らないようなので、apply plugin を plugins に書き換えれば良いのでは。
Jhon_McClane

2021/08/27 06:49 編集

プロジェクト直下のclasspathがclasspath 'com.android.tools.build:gradle:3.6.1'となっていたのですが, これが原因でしょうか. 4.2へupdateした後に作成したのですが,updateの際にgradleのversionを更新しますか的な質問がされて,確か維持した記憶があります.
hoshi-takanori

2021/08/27 06:46

あ、それかもしれませんね。Android Studio 4.2.2 ならそのバージョンも 4.2.2 になるはず。 あと、gradle/wrapper/gradle-wrapper.properties というファイルに書いてある gradle のバージョンも 6.7.1 にするといいかも。 (Android Studio でプロジェクトを開いたときにプラグインを更新するかと聞かれて、Yes と答えれば自動的に更新してくれたような…。)
Jhon_McClane

2021/08/27 07:05 編集

補足に写真を載せました. 何やら競合が起きてるそうなのですが,とりあえずキャンセルしました.(これが起きそうで,維持していた) 'com.android.application'はpluginsにどのように記述すれば良いのでしょうか。 updateしたのですが,build.gradle内の記述は変化しなかったので...
hoshi-takanori

2021/08/27 07:09

plugins { id: 'com.android.application' id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' } てな感じでいけるのでは。
Jhon_McClane

2021/08/27 07:16

なんかもう自分では理解が難しいエラーが発生してしまいました... Cause: com/android/build/api/variant/AndroidComponentsExtension java.lang.NoClassDefFoundError: com/android/build/api/variant/AndroidComponentsExtension
Jhon_McClane

2021/08/27 09:07 編集

とりあえず,知識がないため,新しいバージョンで元のデータコピーして復元してみます. 復元後も以下のエラーが発生 Unable to load class 'com.android.build.api.variant.AndroidComponentsExtension'. This is an unexpected error. Please file a bug containing the idea.log file.
guest

回答1

0

自己解決

hoshi-takanori様の助言の基、解決できました.
まず,
プロジェクト直下のclasspathをclasspath "com.android.tools.build:gradle:4.2.2"に更新
(apply plugin は古い書き方で、最近の Android Studio を使えば plugins になるとのことです.)
その後、最上位に以下を記述

plugins { id 'com.android.application' id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }

補足

公式ドキュメント手順1のバージョンを1.3.0"から2.0.0にすると以下のエラーに直撃します.
私の場合は,ドキュメントに1.3.0と書かれていたものを,androidstudio上で2.0.0に更新できますよといったアナウンスを受けて,変更した.これが原因と気付かず,多くの時間を費やしてしまった.

Cause: com/android/build/api/variant/AndroidComponentsExtension java.lang.NoClassDefFoundError:com/android/build/api/variant/AndroidComponentsExtension

投稿2021/08/27 09:38

Jhon_McClane

総合スコア48

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問