web-dev-qa-db-ja.com

dexを実行できません:複数のdexファイルがLcom / google / Android / gms / analytics / internal / Commandを定義しています

昨夜(31.4)にAndroid SDKを更新しましたが、その後、アプリをコンパイルできなくなりました。次のエラーが発生します。

[2015-05-01 14:36:24 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/google/Android/gms/analytics/internal/Command$1;
[2015-05-01 14:36:24 - SoFit] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/google/Android/gms/analytics/internal/Command$1;

瓶の中は何も変えていません。これが私のlibs構造です: enter image description here

私は次のことを試みました:-プロジェクトをクリーンアップする。 -Eclipseを再起動します。 -binフォルダーを削除します。 -プライベートライブラリを削除します。

また、最近のグーグルプレイサービスのアップデートからアナリストをライブラリ内に配置したので、グーグルアナリストのjarファイルを削除しようとしました。ただし、クラスが欠落しているため、コンパイルも行われません。

グーグルプレイサービスの何かが間違っていると思いますが、私は何を見つけることができません。

11
dasdasd

ディレクトリlibsから「libGoogleAnalyticsServices.jar」を削除し、v2がサポートしなくなったためコードを更新してみてください。次に、それをクリーンアップして実行します。何もかも良くなるだろう。

19
WhiteHorse

google analystsv2はサポートされなくなりました... googleサービスに含まれているv4を使用する必要があります。

6
dasdasd

削除する libGoogleAnalyticsServices.jarビルドからGooglePlay開発者サービスを追加します。

最低限必要な構成:

compile 'com.google.Android.gms:play-services-base:7.5.0'
compile 'com.google.Android.gms:play-services-analytics:7.5.0'
6
Vaiden

答えの一部はWhiteHorseのものです。私の場合、問題はGoogle Play Services Libを更新したために発生し、Analyticsの最新(v4)バージョンを提供するようになりました。ただし、Analyticsのv4は以前(私の場合はv2)とまったく同じではないため、古いjarを削除するだけでは不十分でした。私がしなければならなかったことは

  1. LibAnaliticsV2.jarを依存関係とlibs /から削除します
  2. 新しいEasyTrackerクラスを作成します。チェックしてください ここ
  3. アプリでEasyTrackerへの参照をすばやく変更する
0
Edo user1419293