このエラーメッセージはどういう意味ですか?プロジェクトに重複したパッケージはありません
エラー:タスク ':SimpleReader:processDebugResources'の実行に失敗しました。
エラー:パッケージ名「com.google.Android.gms」のライブラリが複数あります
Android.enforceUniquePackageName = falseでこのエラーを一時的に無効にできますが、これは一時的なものであり、1.0で実施されます
僕の build.gradle
は次のようになります。
buildscript {
repositories {
maven { url 'http://repo1.maven.org/maven2' }
mavenCentral()
}
dependencies {
classpath 'com.Android.tools.build:gradle:0.9.1'
}
}
apply plugin: 'Android'
Android {
buildToolsVersion '19.0.3'
defaultConfig {
minSdkVersion 14
targetSdkVersion 17
}
compileSdkVersion 17
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}
buildTypes {
}
}
dependencies {
compile 'com.Android.support:support-v4:19.0.1'
compile 'com.google.Android.gms:play-services:4.2.42'
compile files('libs/gson-2.2.4.jar')
compile files('libs/httpmime-4.1.jar')
compile files('libs/httpclient-4.1.1.jar')
compile files('libs/jsoup-1.7.3.jar')
compile project(':libraries:actionbarsherlock')
compile project(':libraries:sherlocknavigationdrawer')
compile project(':libraries:googleplayservices')
compile project(':libraries:androidslidinguppanel')
compile files('libs/protocol-1.0.4.jar')
compile files('libs/sentry-0.1.4.jar')
compile files('libs/commons-lang-2.3.jar')
}
私の場合、問題は次のものが含まれていたためです。
compile 'com.google.Android.gms:play-services-wearable:+'
compile 'com.google.Android.gms:play-services:4.4.52'
ウェアラブルプレイサービスとレギュラーの両方。ウェアラブル部分をコメントアウトしましたが、機能します。
必要かどうかはわかりませんが、プロジェクトウィザードによってデフォルトで含まれていました。
今日、私は同じ問題に出会いました。 Google Analyticsを使用する必要があるため、チュートリアルに従ってGoogle Analyticsライブラリをインポートします。
compile 'com.google.Android.gms:play-services-analytics:9.0.0'
その後、プロジェクトをコンパイルすると、gradleがError: more than one library with package name 'com.google.Android.gms'
を教えてくれます
com.google.Android.gms
libでgoogle analytics
を直接インポートするのは1回だけであることは間違いなく確認できます。
Android StudioのProject
タブに移動して、このプロジェクトが依存するライブラリを確認し、play-services-6.5.87
がExternal Libraries
に表示されていることを確認しました。次のスクリーンショットのように:
そのため、play-services-6.5.87
に依存する別のライブラリがあることがわかりましたが、どのライブラリであるかはわかりません。
次に、コンソールでgradleコマンドを使用して、プロジェクトの依存関係を確認します。
$ ./gradlew -q app:dependencies
その結果、com.facebook.Android:audience-network-sdk:4.6.0
がそれに依存していることがわかります。
この問題をどのように修正するか、2つの方法:
audience-network-sdk
が必要ない場合は、削除してください。私のプロジェクトは実際にはそれを必要としません。audience-network-sdk
とgoogle-analytics
も必要な場合は、次のスニペットコードのように、exclude group
文法を使用してください。
//facebook SDK
compile ('com.facebook.Android:audience-network-sdk:4.6.0')
{exclude group: 'com.google.Android.gms'}
// google analytics
compile 'com.google.Android.gms:play-services-analytics:9.0.0'
あなたの場合、audience-network-sdk
は、他のライブラリと同じライブラリに依存する他のライブラリにすることができます。ここでは、同様の問題を解決する方法を考えています。
compile project(':libraries:googleplayservices')
またはcompile 'com.google.Android.gms:play-services:4.2.42'
を削除してみてください。それらが同じライブラリであると確信しています。
これはバージョンの問題です。同じパッケージパスの依存関係が複数ある場合は、バージョンが同じであることを確認してください
compile 'com.google.Android.gms:play-services-ads:8.4.0'
compile 'com.google.Android.gms:play-services-gcm:8.4.0'
私は長い間この問題と混同していました。私のエラーは同じエラーログでも質問とは少し異なります。サブライブラリのビルドタイプをアプリケーションのビルドタイプと同じにする必要があります。そのため、ドキュメントに示されているように、sublibにbuildtypeを割り当てました。 [Gradleプラグインユーザーガイド] [1]
これは私が得たエラーです。
flavorCustomResourceの処理
エラー:com.xxx.libCommonを持つ複数のライブラリ
これは私のstructureです。 lib1とlib2は互いに独立しています。
アプリ
-> lib1-> libCommon
-> lib2-> libCommon
カスタムビルドタイプをビルドしたときにのみエラーが発生しましたが、リリースバージョンは問題ありませんでした。
詳細私のbuild.gradleの一部
アプリ:
Android {
buildTypes {
release{}
custom{}
}
}
configurations {
flavorReleaseCompile
flavorCustomCompile
}
dependencies{
compile project(':lib1')
flavorReleaseCompile project(path: ':lib2', configuration: ':release')
flavorCustomCompile project(path: ':lib2', configuration: ':custom')
}
lib1:
Android {
publishNonDefault true
buildTypes {
release{}
custom{}
}
}
dependencies{
releaseCompile project(path: ':libCommon', configuration: ':release')
customCompile project(path: ':libCommon', configuration: ':custom')
}
lib2
dependencies {
compile project(':libCommon')
}
解決策: lib2をlib1として設定します。問題は解決されます。
lib2:
Android {
publishNonDefault true
buildTypes {
release{}
custom{}
}
}
dependencies{
releaseCompile project(path: ':libCommon', configuration: ':release')
customCompile project(path: ':libCommon', configuration: ':custom')
}
Reason
問題はLibrary Publicationに関するものです
デフォルトの公開はリリースです。lib2が設定されていない場合、lib1のbuild.gradleによって割り当てられたlib1-> libCommon(カスタムバージョン)とは異なるデフォルトの公開libCommon(リリースバージョン)が使用されます。 。
私の投稿が誰かが同じ問題に苦しんでいるのを助けるか、彼/彼女に何らかのヒントを与えることを望みます。
私は同様の問題に直面し、次の手順で解決しました:
イオンプラットフォームrm Android
イオンプラットフォームはAndroidを追加します
イオンビルドAndroid