分割lib_mainが複数回定義されました


102

分割lib_mainが複数回定義されました

「com.android.tools.build:gradle:2.0.0-alpha3」でビルド成功、ただし「com.android.tools.build:gradle:2.0.0-alpha5」で発生するエラー。

コンソールエラー


いよいよ即走作業!! com.android.tools.build:gradle:2.0.0-alpha8およびgradle.properties "org.gradle.jvmargs = -Xmx8g"が変更されるように解決されました。


まったく同じ問題がある。製品のフレーバーとapplicationIdSuffixを偶然使用していますか?
Michael De Soto

残念ながら、「製品フレーバー」と「applicationIdSuffix」は使用しないでください。「MultiDex」を使用します。
shinhyo 2016年

6
ここでも同じエラーが発生し、インスタント実行を無効にすると役立ちます。Android 6を実行するデバイスでのみ発生します。AndroidStudio 2.0 5 applicationIdSuffix、MultiDexを使用し、製品フレーバーを使用しません
Happy Dev

1
@Happydev instantrunを無効にすることで解決します!
shinhyo 2016年

1
@bkurziusそれは私への解決策のように継ぎ目がありません、更新の全体のポイントは即座に実行されました。誰かがライブラリやプラグインを削除するようなものを見つけてくれることを願っています...インスタントランは別のプロジェクトのマシュマロで素晴らしい動作をするためです。
Happy Dev

回答:


103

InstantRunが何であるかを疑問に思う人のために(図の最初の設定): ここに画像の説明を入力してください

はい、その設定を無効にすると問題が解決します。

2016年1月19日を編集

「com.android.tools.build:gradle:2.0.0-alpha6」は3日前にリリースされました。その新しいバージョンを使用すると、「Split lib_mainが複数回定義されました」というエラーがなくなり、アプリのインストールは成功しますが、ランタイムエラーが発生します。

java.lang.RuntimeException: Unable to instantiate application
com.android.tools.fd.runtime.BootstrapApplication:
java.lang.ClassNotFoundException: Didn't find class
"com.android.tools.fd.runtime.BootstrapApplication" on path:
DexPathList[[zip file "/data/app/com.onegravity.k10.pro2-2/base.apk",
zip file "/data/app/com.onegravity.k10.pro2-/split_lib_main.apk"]

Caused by: java.lang.ClassNotFoundException: Didn't find class
"com.android.tools.fd.runtime.BootstrapApplication" on path:
DexPathList[[zip file "/data/app/com.onegravity.k10.pro2-2/base.apk",
zip file "/data/app/com.onegravity.k10.pro2-2/split_lib_main.apk"]

Suppressed: java.io.IOException: No original dex files found for dex location
/data/app/com.onegravity.k10.pro2-2/base.apk

Suppressed: java.lang.ClassNotFoundException:
com.android.tools.fd.runtime.BootstrapApplication

インスタント実行をオフにすると、そのエラーがなくなります。com.android.tools.build:gradle:2.0.0-alpha7 ...を待ちましょう...

2016年1月25日を編集

「com.android.tools.build:gradle:2.0.0-alpha7」は2日前にリリースされました。

2.0.0-alpha6と同じ例外を取得する


2
さて

2
ビルドシステムとの戦いにますます時間を費やしているようです。それはまるでAndroid開発がますますビルド/デプロイメント指向になり、コーディングが少なくなるようなものです... Gradleビルドシステムの柔軟性が好きなため、残念です。
Emanuel Moecklin

1
まあ、彼らがインスタントランを釘付けにできるなら、それは苦痛の価値がありますが、今のところそれを使った私の経験はよくありません:-(
bkurzius

インスタントランで実行される他のアプリでも、オフにする必要がありました。インスタントランが機能しない場合が多すぎます。まだアルファだと思います...
エマニュエルモエクリン

ありがとう..安定版2.3.1でこれを取得していた
shadygoneinsane

161

モジュールのフォルダー削除し てプロジェクトを再構築するだけです!build app

これで問題が解決します!。


2
すごい!これは、正しいソリューションとしてマークする必要があります。ありがとう
Hernan Arber

1
働きました!AVDを再構築して再起動するだけでは効果がありませんでした。
MatejC 2018年

1
「キャッシュを無効にして再起動する」こともビルドを無効にすべきではないのですか?明らかにこのケースでは機能しないため
GabrielOshiro

無効にすることは推奨されません。「ビルド」フォルダを削除する必要はありません。プロジェクトをリビルドするだけです。
Vaibhav

48

Gradleでアプリ名をリファクタリングして変更した後、この問題に遭遇しました。AskQの先導に続いて、私はプロジェクトを再構築しました(少し異なるパスに従って):

Build-> Clean Project

に続く

Build-> Rebuild Project

問題を解決しました


11

回復:

(projectFolder)/ app / ビルドフォルダーの削除と再ビルドがうまくいきました。(@AskQで回答)

[ビルド]> [プロジェクトのクリーンアップ]も機能していたのでしょうか。Android Studio GUIメニューから。

回避:

私の場合、プロジェクトをコピーして貼り付けたために問題が発生したようで、2つのプロジェクトが同じ名前でした。
他にも同様の原因があり、それらが何であるかを知ることは、ユーザーがこの懸念を回避するのに役立ちます。


同じエラーが発生し、Clean Projektの後、アプリは再び機能しました
Franzi

完全なクリーン/リビルドも私にとってはうまくいきました。対策として、接続されているデバイスを再起動しました。
Majestic12


2

Android Studio 2.3.3設定でインスタントランを無効にした後、それは私のために働いた...

移動設定 - > ビルド、実行と開発 - > インスタントファイル名を指定して実行- >のチェックを外し ホットスワップするインスタントファイル名を指定して実行を有効にし、その後、クリーンプロジェクトをもう一度プロジェクトを再ビルド!!


インスタント実行設定を無効にすることも私にとってうまくいきました。
Michael Nwanna 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.