ionic cordova build Android
を実行した後、次のエラーが表示されます。
FAILURE: Build failed with an exception.
* What went wrong:
Could not resolve all files for configuration ':debugCompileClasspath'.
> Could not find runtime.jar (Android.Arch.lifecycle:runtime:1.0.0).
Searched in the following locations:
https://jcenter.bintray.com/Android/Arch/lifecycle/runtime/1.0.0/runtime-1.0.0.jar
そして、それは正しいです。このURL https://jcenter.bintray.com/Android/Arch/lifecycle/runtime/1.0.0/runtime-1.0.0.jar
にアクセスすると、404 Not found error
がJSONとして取得されます。
そのURLにAndroid/Cordova固有のバージョンが表示されないため、Cordovaのインストールからそれを言うことはできません。
Cordovaバージョン:7.1.0
イオン情報:
cli packages: (C:\Users\%User%\AppData\Roaming\npm\node_modules)
@ionic/cli-utils : 1.19.2
ionic (Ionic CLI) : 3.20.0
global packages:
cordova (Cordova CLI) : not installed // this is strange. I can run cordova in my terminal tho
local packages:
@ionic/app-scripts : 3.1.8
Cordova Platforms : Android 6.4.0
Ionic Framework : ionic-angular 3.9.2
System:
Android SDK Tools : 26.1.1
Node : v8.4.0
npm : 5.3.0
OS : Windows 10
Environment Variables:
Android_HOME : C:\Users\%User%\AppData\Local\Android\Sdk
Misc:
backend : pro
また、cordova-Android
にC:\Users\%USER%\.cordova\lib\npm_cache
フォルダーがありません(これが役立つかどうかわかりません。このフォルダーについて人々が話しているのを見ました)
ここで問題は何ですか?そのURLはどこから来たのですか?どのように変更できますか?また、何を変更できますか?
これを簡単に解決できない場合は、最後の手順として、すべてを削除して再度インストールします。
ありがとうございました!
簡単な一時修正は、最上位のgradleファイルにgoogle mavenリポジトリを含めることです。
allprojects {
repositories {
mavenLocal()
maven { url 'https://maven.google.com' } // <-- add this!
jcenter()
私にとって AIT MANSOUR および Moritz の答えは機能しませんでした。なぜなら、jcenter()
とjitpack
を必要とする他の依存関係があったためです。さらに、react-native
にはnode_modules
が必要です。
だから、react-native
の私のソリューションは
allprojects {
repositories {
// this is for native modules I'm developing
mavenLocal()
// for modules depending on jitpack.io
maven { url "https://jitpack.io" }
// add this one
maven {
url "https://maven.google.com"
}
maven {
url "$rootDir/../node_modules/react-native/Android"
}
// keep this at the end
jcenter()
}
}
(少なくとも私にとっては)問題を解決しました。
jcenter
には、プロジェクトのライブラリを提供する際にいくつかの問題があるようです(一時的な場合があります)。ここで提案されたように、これらのライブラリをMavenから取得することでこれを解決できます。
Build.gradleファイルに移動し(ionic devsの場合は/ platforms/Androidにあります)、コードの各行の上にjcenter()
という行をmaven { url 'https://maven.google.com' }
と追加します。
私にとっては、buildscript
とallprojects
の2つの場所でした。最後に、build.gradleファイルの上部は次のようになります。
apply plugin: 'com.Android.application'
buildscript {
repositories {
maven { url "https://maven.google.com" }
jcenter()
}
dependencies {
classpath 'com.Android.tools.build:gradle:3.0.0'
}
}
allprojects {
repositories {
mavenLocal()
maven { url 'https://maven.google.com' }
jcenter()
}
}
それは何ですか?ライブラリプロバイダー(この場合はjcenter)を別のプロバイダーに変更するだけで、アプリはそれらを正常にダウンロードできます。そこのすべての行には、フォールバックを備えたライブラリプロバイダーがあります。
フォールバックプロバイダーがbuild.gradleファイルにあったため、そもそもMavenにフォールバックしなかった理由がわかりません。
Android/build.gradleで、コードを次のように変更します-
allprojects {
repositories {
mavenLocal()
maven { url 'https://maven.google.com' }
jcenter()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$rootDir/../node_modules/react-native/Android"
}
}
}
今朝、私は同じ問題を抱えていました:
Error:Could not resolve all files for configuration ':app:debugAndroidTestRuntimeClasspath'.
Runtime.jarが見つかりませんでした(Android.Arch.lifecycle:runtime:1.0.0)。次の場所で検索: https://jcenter.bintray.com/Android/Arch/lifecycle/runtime/1.0.0/runtime-1.0.0.j
私はこの方法で修正しました:プロジェクトリポジトリで、build.gradleを編集し、jcenter()をコメントしました:
repositories {
// jcenter()
maven {
url "https://maven.google.com"
}
}
これでプロジェクトが正常にビルドされました!がんばろう !
これは私にとっては仕事です
ステップ1: プロジェクト内 build.gradle ファイルは以下のコードを置き換えるだけです
allprojects {
repositories {
mavenLocal()
maven { url 'https://maven.google.com' }
jcenter()
// google()
}
}
ただコメントする google() プロジェクトgradleファイルに存在する場合。
ステップ2: ファイル内 gradle-wrapper.properties ダウングレード distributionUrl 以下でダウングレードしました。
distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-all.Zip
この問題を解決する新しいバージョンのcordova-Android
(7.1.1)がリリースされました。
したがって、現在のAndroidプラットフォームを削除します
cordova platform rm Android
そして、新しいプラットフォームを追加します
cordova platform add [email protected]
問題は、pomがjcenterにリストされているが、jarが欠落していることであると思われます。
https://jcenter.bintray.com/Android/Arch/lifecycle/runtime/1.0.0/
リポジトリにメタデータは存在するが、アーティファクトが欠落している場合、Gradleは失敗します
https://github.com/gradle/gradle/issues/112
@Moritzの修正は、最初にmaven.google.comにアクセスすることで機能するはずです。
私も同じエラーを受け取っています。
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.Android.tools.build:gradle:2.3.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Build.gradleの内容は変更していません。
Androidプラットフォームを削除してから、再度追加しました:削除するには:
コルドバプラットフォームrm Android
たす:
cordovaプラットフォームはAndroidを追加します
すべて正常に動作します注:このバージョンのAndroidは、今回は正しくインストールされませんでした(今日までに!)
cordovaプラットフォームは[email protected]を追加します