web-dev-qa-db-ja.com

エラー:Android SDK内にグラドルラッパーが見つかりませんでした。あなたのAndroid SDKをアップデートする必要があるかもしれません - Android

私はこれに似た質問がたくさんあることを知っています、しかし私はそれらのどれにも私の問題に対する解決策を見つけることができませんでした。その上、私は私の特定のケースの詳細を提供します。

Ubuntu 16.04 LTSでIonicプロジェクトをコーディングしたので、今度はそれをリリース用にビルドする必要があります。だから私はコマンドを実行します。

cordova build --release Android

そして、私は以下のエラーを見せています:

Error: Could not find gradle wrapper within Android SDK. Might need to update your Android SDK.
Looked here: /home/user/Android/Sdk/tools/templates/gradle/wrapper
  • 私はこのtemplates/gradle/wrapperディレクトリを持っていません。
  • My Android Studioは2.3、現在の最新バージョンです
  • Android SDK Platform-Tools 25.0.3
  • Android SDKツール25.3.1
  • 2.1(エクレア)から7.1.1(ヌガー)までのすべてのAndroidバージョン

徹底的な調査の結果、私はすべてのAndroid Studio関連の環境変数を/etc/environmentファイルに入れました。だから今それはこのようになります:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/game:/home/<user>/Android/Sdk:/home/<user>/Android/Sdk/tools:/home/<user>/Android/Sdk/platform-tools"

Android_HOME=/home/<user>/Android/Sdk
export Android_HOME

Java_HOME=/usr/lib/jvm/Java-8-Oracle
export Java_HOME

GRADLE_HOME=/opt/Android-studio/gradle/gradle-3.2
export GRADLE_HOME

それでは、環境変数をテストするために、次のコマンドを実行します。

source /etc/environment
echo $PATH
echo $Android_HOME
echo $Java_HOME
echo $GRADLE_HOME

そしてすべてのパス変数は正しく表示されます。

それで、環境変数は似たようなさまざまな質問と私が検索したチュートリアルに従うべきもののようです。誰が私が間違っているのか知っていますか?それでもGradle Wrapperエラーが発生するのはなぜですか?

190
rbenvenuto

私はちょうど同じ問題を経験しました。

あなたと私の両方が見逃したすべてのSDKツールと一緒にAndroid Studioをインストール(またはアップグレード)する方法に関する説明のオクルージョンか、あるいはStudioの新しいリリースによって作成されたバグと同じファイル規約に従わないかもしれません。古いバージョンこのトピックに関する多くの SO posts は、最新には現れないAndroid-sdkという名前のフォルダを持つAndroid_PATHを指すように思われるので、私は後者に傾いています。 ) バージョン。

と思われるが の回避策があるようですが、私は自分のマシンで作業しました。これが私がしたことです:

  • Tools_r25.2.3-windows.Zipを Androidダウンロード からダウンロードします。
  • デスクトップ上の抽出Zip
  • C:¥Users¥username¥AppData¥Local¥Android¥sdk¥toolsを抽出したサブフォルダtools /に置き換えました。
  • プロジェクトフォルダ内:

    $ cordovaプラットフォームはAndroidを削除
    $ cordovaプラットフォームがAndroidを追加

Androidではnode_modulesを強制的に削除する必要があるかもしれません。うまくいけば、これは役立ちます。

238
R J

編集3:

Cordova Android 6.2.2がリリースされ、SDKツール26.0.xおよび25.3.1と完全な互換性があります。このバージョンを使用してください。

cordova platform update [email protected]

または

cordova platform rm Android
cordova platform add [email protected]

編集2:

Cordova-Android 6.2.1と完全な互換性がない、別のAndroid SDKツールリリース(26.0.x)があります。

編集:Cordova Android 6.2.1がリリースされ、最新のAndroid SDKと互換性があります。

現在の互換性のないAndroidプラットフォームをcordova platform update [email protected]で更新できます。

または、既存のプラットフォームを削除して新しいプラットフォームを追加することもできます(yourProject/platforms/Android/フォルダー内で行った手動の変更を削除します)。

cordova platform rm Android cordova platform add [email protected]

現在のCLIではデフォルトで6.1.xがインストールされるため、バージョンを指定する必要があります。

古い答え:

悲しいことにAndroid SDKツール25.3.1がcordova-Android 6.1.xを破った

SDKツールをダウングレードしたくない方は、githubのURLからcordova-Androidをインストールすることができます。問題の大部分は既にmasterブランチで解決されているからです。

cordova platform add https://github.com/Apache/cordova-Android

249
jcesarmobile

(基本的に@ user3464070はすでに言ったこと)

Mac用:

cd ~/Library/Android/sdk
# download latest tools
curl -O https://dl.google.com/Android/repository/tools_r25.2.3-macosx.Zip
# overwrite existing tools folder without prompting
unzip -o tools_r25.2.3-macosx.Zip
# clean up
rm tools_r25.2.3-macosx.Zip
54
basecode
  1. Android Studioがシステムにインストールされている場合は、C:\Program Files\Android\Android Studio\plugins\Android\lib\templatesからtemplatesフォルダをコピーします。
  2. フォルダC:\Users\<user-name>\AppData\Local\Android\sdk\toolsに貼り付けます
  3. コマンドを実行します。ionic build Android

必要なjarファイルがすべてダウンロードされ、アプリケーションのapkファイルが生成されます。

注: 環境変数をC:\Users\<user-name>\AppData\Local\Android\sdk\toolsに設定してください。また、user-nameを現在のユーザー名に設定してください。

36
vinayb21

Linuxには、もう少し良い解決方法があります。

に移動します - https://developer.Android.com/studio/index.html#downloads

そして、Linux用のコマンドラインツールのZipファイル(ページ下部)をダウンロードします。あなたの..../Android/Sdk /フォルダーにそれらを解凍して、あなたのツールフォルダーを上書き/拡張してください。これですべてうまくいきました。

26
user3464070

まだこの問題を抱えている人のために、これは私のために働きました:

    cordova platform update Android@latest

それからビルドしてください、そしてそれは自動的に最新のgradleバージョンをダウンロードして、そして働くべきです

21
Mans

Android Toolsをダウングレードする必要はありません。 Windowsでは、Gradleは次の場所から移動しました。

C:\Users\you_username\AppData\Local\Android\sdk\tools

に:

C:\Program Files\Android\Android Studio\plugins\Android\lib\templates\gradle\wrapper

だからあなたはちょうどそれが正しいフォルダを指すようにあなたのパスを調整する必要がある。

14
herve

ionic run Android --deviceのときにこのエラーが発生した場合

## codova - Android update 
npm install -g cordova
cordova platform update Android
8
xsor

通常のAndroid Studioインストールからすべてをコピーしただけです。 D:\ sw\dev\Android\studio\plugins\Android\lib\templatesから

(テンプレートディレクトリ全体)

に:

D:\ sw\dev\Android\sdk\tools

イオンビルドAndroidでテスト済み

7
AlexGera

Linuxの場合は、シンボリックリンクを作成するだけです。

ln -s /Android/android-studio/plugins/Android/lib/templates /Android/sdk/tools/templates
5
Mac

Linux(私の場合はUbuntu)にgradleをインストールするだけです。

Sudo apt-get install gradle

編集:それはubuntuのレポがより新しいバージョンのために、2.10のgradleしか持っていないようです: https://www.vultr.com/docs/how-to-install-gradle-on-ubuntu-16-10

5
Mawcel

この問題は、グラドルラッパーがSDKツールに含まれていない場合に発生します。

前の応答が言ったように、あなたは最後のcordova-Androidバージョンに更新することができます(それは動作します)が、もしあなたが[email protected][email protected]を使い続けたいのであれば、ちょうどアンドロイドスタジオexからフォルダをコピーしてください。

cd /Applications/Android\ Studio.app/Contents/plugins/Android/lib/
cp -r templates/ $Android_HOME/tools/templates
chmod +x $Android_HOME/tools/templates/gradle/wrapper/gradlew

私の場合、私はcordova-plugin-fcmを使用していて、それは旧バージョンのcordova-Androidでテストされているので、[email protected]を使用することはできません(まだそうではありません)。

4
agutoli

これで私の問題は解決しました。

https://dl.google.com/Android/repository/tools_r25.2.5-macosx.Zip214 をダウンロードして、//Library/Android/sdk/toolsにあるtoolsフォルダを上書きします

3
Dinesh Vaitage

つい最近、私も同様の問題に遭遇しました、そして、私がこれをした後に、それは働きます:

/etc/profileでファイルを編集しました

Sudo nano /etc/profile

export Java_HOME=/home/abdul/Java/jdk1.8.0_131
export PATH=$PATH:$Java_HOME/bin

export Android_HOME=/home/abdul/Android/Sdk
export PATH=$PATH:$Android_HOME/tools
export PATH=$PATH:$Android_HOME/platform-tools

export GRADLE_Android_HOME=/home/abdul/Android-studio/gradle
export PATH=$PATH:$GRADLE_Android_HOME/gradle-3.2/bin
export PATH=$PATH:$GRADLE_Android_HOME/m2repository

その他の情報(念のため):

m2repositoryの部分についてはよくわからない、最初の試みでそれはgrandleを渡すが、別のエラーがあります(gradlew-command-failed-with-exit-code-

  1. Android Studioでリポジトリがアクティブかどうかをチェックし、アクティブではないことを確認します。もう一度試すと(Cordova build Android)、他のファイルをリポジトリからダウンロードできますか?それからパスを削除しても、それでも機能します。 (Marcin Orlowskiサンプルのおかげで、それではエクスポートパスについてよりよく理解できます)。

私が使う:

  • Linuxミントセレナ
  • ノード:v6.10.3
  • npm:3.10.10
  • コルドバ:7.0.0
  • Androidスタジオ:2.3.1
  • Android SDK platform-tools:25.0.5
  • Android SDKツール:26.0.2

私のように同じ問題を抱えていて、これも必要としている人なら誰でも助けになれば幸いです。

ありがとう

3
Abdul Muhit

今日の時点では、解決策はどれも私にとって役に立ちませんでした。私の状況は、私が自分のAndroidスタジオをアップデートしたということでした。 toolsフォルダを最新のものに置き換えるための最も一般的な方法は私にはうまくいきません。場合によっては、Infactは必要ありません。

npm update -g cordovaが私のためにトリックをしました。

それから私はプラットフォームを削除し、それを再び追加しました。

ionic platform remove Android

ionic platform add Android

これは私にはイオンで動作します。私はcordova platform remove/add Androidが同じことをすると確信しています。まだテストされていません。

再び働きます!

2
kushalvm

SDKを更新する必要はありません。手動でインストールしてみてください。このリンクの指示に従ってください

https://gradle.org/install

2

ここですべてを異なる順序で2回試した後、すべてを再インストールし、cordova platform add Androidを実行する前にtemplates/gradleに行き、gradlew.batを実行しました。これが完了した後、私は何の問題もなくAndroidプラットフォームを追加することができました。

2
Scott Beeson

これで解決しました:

cordova platform update [email protected]
1
Mirko

Cordovaを7.0.xにアップグレードした後、Gradleパスは上記のように変更されました。正式な修正が出る前にそれを機能させるには、手動でgradleをインストールしてあなたの環境にそれをセットしてください。

  1. Go https://gradle.org/install Binaryパッケージをダウンロードしてください。
  2. 解凍し、パスを覚えておいてください、例えば、私のもの:E:\ Gradle
  3. WindowsでE:\ Gradle\binを追加するように環境変数を設定します。

それでおしまい。

0
Peter.Wang

同じ問題を経験した後、config.xmlでパッケージ名を変更し、属性IDに " - "のない名前を付けてください...

すなわち.

com.web-projet.appname

に改名:

com.webprojet.appname

そしてすべてが正しかった...

それが助けになれば。

0
Jean-Luc Aubert

私はUbuntu 16.04を使用しています、そして私のために、それはちょうど2つのコマンドを使用することによって働きました: -

ionic cordova platform rm Android
ionic cordova platform add [email protected]
0
Niraj

実行します。

cordova platform update [email protected]

そして、Android StudioとAndroid Studio環境変数が同じ場所を参照していることを確認してください。

私はこれをAndroid Studioを次の場所からコピーして修正します。

D:\Program Files\Android

C:\Program Files\Android
0
Avihai Cohen

Cordova version 5.0をインストールすると私が役に立ちます:

npm install -g [email protected]
0
fvukovic