920

Eclipse の Android アプリケーションで、次のエラーが発生します。

予期しないトップレベルの例外:
java.lang.IllegalArgumentException: すでに追加されています: Lorg/xmlpull/v1/XmlPullParser;
....
エラー 1 で Dalvik 形式への変換に失敗しました

このエラーは、特定の外部 JAR ファイルをプロジェクトに追加した場合にのみ表示されます。可能な解決策を長い間探しましたが、可能な解決策はどれも機能しません。

Android 1.5 (現在使用しているバージョン) ではなく、Android 1.6 に変更しようとさえしました。

4

71 に答える 71

826

Project » Properties » Java Build Path » Libraries に移動し、「Android XY」以外のすべてを削除します (私の場合は Android 1.5)。[OK] をクリックします。Project » Clean » Clean projects selected below » に移動し、プロジェクトを選択して [OK] をクリックします。それはうまくいくはずです。

プロジェクト フォルダーのどこかに JAR ファイルがあり (Admob JAR ファイルを src フォルダーにコピーした)、それを Java パス ライブラリとして追加した可能性もあります。パッケージ エクスプローラーの下には表示されないので、気付かないかもしれませんが、2 回カウントされて、恐ろしい Dalvik エラー 1 が発生します。

別の理由として、パッケージ名の競合が考えられます。パッケージと、このパッケージ内で名前がcom.abc.xyz付けられたクラスがあり、同じ. これは、同じファイルへの複数の参照があり、適切にビルドできないことを意味します。A.javacom.abc.xyz.A.javaA.java

他の方法では、これは、誤ってまたは故意にクラスパスファイル内のものを手動で編集/追加した場合に発生する可能性があります。特定のケースでは、android.jar パスをクラスパスファイルに手動で追加して Java ドキュメントを生成することがあります。Javadoc が生成された後にそれを削除する場合コードは正常に動作します。まだ発生する場合は、これも確認してください。

于 2010-08-02T16:19:33.540 に答える
273

問題を解決しました。

これは JAR ファイルの競合です。

同じパッケージとクラスを含むビルドパスに 2 つの JAR ファイルがあるようです。

smack.jarandroid_maps_lib-1.0.2

JAR ファイルの 1 つからこのパッケージを削除すると、問題が解決しました。

于 2010-04-21T07:55:13.320 に答える
126

Windows 7 の解決策:


[Android SDK インストール ディレクトリ]\tools\proguard\bin\proguard.batファイルの ProGuard コマンド ラインが問題の原因であることを確認しました。

次の行を編集すると、問題が解決します。

call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %*

call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
于 2011-08-10T00:46:54.947 に答える
94

この問題は簡単に解決できます (Eclipse Android 開発者ツール、ビルド: v22.0.1-685705 を使用)。署名されていない (未) Android アプリケーションをエクスポートする際に、メニュー > [プロジェクト] > [自動ビルド] をオフにします。その後、再度オンにすることを忘れないでください。

于 2013-08-28T09:30:19.123 に答える
53

ADTリビジョン12以降を使用している場合は、プロガードを4.4-> 4.6から更新する必要があります(ここで説明します)。また、... \ bin\proguard.batファイルを元の形式のままにしておく必要があります。

Webからダウンロードし、ダウンロードしたパッケージからlibフォルダーを:にコピーするだけです。

[AndroidSDKインストールディレクトリ]\tools \ proguard \ lib

于 2011-09-12T10:33:42.043 に答える
30

別のシナリオと解決策を次に示します。

最近、ADT for Eclipse を更新した後にこの問題に遭遇した場合:

  1. アプリ プロジェクトで、ライブラリ プロジェクトを指すリンクされたソース フォルダーを確認します (名前は "LibraryName_src" の形式になっています)。
  2. これらのプロジェクトをすべて選択し、右クリックして、[ビルド パス] -> [ビルド パスから削除] を選択します。
  3. 「プロジェクトからフォルダーのリンクも解除する」を選択し、「はい」をクリックします。
  4. プロジェクトをクリーンアップし、再構築して再デプロイします。

その理由は、以前のバージョンの ADT がライブラリ プロジェクトのソース フォルダーを「子」プロジェクトにリンクしていたためであり、現在の ADT/Dex の組み合わせはそのソリューションと互換性がなくなったためです。

編集: これは、Android Dev ブログのエントリ、特にこれによって確認されています。8番目の段落以降を参照してください。

于 2011-11-12T17:53:14.827 に答える
29

プロジェクトに移動し、「自動的にビルド」のチェックを外します。次に、プロジェクトをエクスポートしようとすると、エラーはなくなります。

于 2014-09-18T06:10:59.753 に答える
27

これは、ビルド パスにファイルを追加した場合にも発生する可能性があります。これはAndroid.jar、おそらく Eclipse での偶発的な迅速な修正が原因です。Project -> build path -> configure build path -> android.jarを右クリックして削除し、削除します。

于 2011-06-19T23:48:08.007 に答える
25

このエラーが発生するたびに、単にプロジェクトをクリーニングするだけでうまくいきました。

于 2010-12-09T20:16:01.170 に答える
16

すべてのソリューションを 4 時間テストした結果、今日見つけた私自身の唯一のソリューションは、ここで提供されている多くのソリューションの組み合わせです。

  • DeleteEclipse からのプロジェクト
  • \binプロジェクト フォルダ内および\genプロジェクト フォルダからファイルを削除する
  • ライブラリへの参照を.classpathルート プロジェクト フォルダー内のファイルに削除する
  • コマンド ラインで Eclipse を再起動します。eclipse -clean
  • Import事業
  • プロジェクトを右クリック - Properties> Java Build Path>Librariesを選択し、それ以外をすべて削除しますAndroid XX.Y
  • 最後にcleanプロジェクト、自動ビルドまたはBuildそれを待ちます
  • 起動して今すぐ動作します!少なくとも私にとっては...

一度にすべてのステップと多くの組み合わせを試しましたが、すべてのステップを一度に連続するだけで成功しました! もうこんな目に遭わないことを願う…

于 2012-03-08T09:32:57.863 に答える
14

まだこの問題があり、上記の回答を試してもエラーが発生する他の人のために (これは私の場合です)、私の解決策は Eclipse からプロジェクトを削除し、再度インポートすることでした。

これにより、Android ライブラリが参照ライブラリに再度追加されるようになったため、2 つの Android JAR ファイルが参照されているため、そのうちの 1 つを削除したところ、正常にコンパイルされるようになりました。

解決策: プロジェクトを Eclipse IDE から削除し、再度インポートしてから、上記の解決策を確認してください。

于 2011-01-25T00:37:24.540 に答える
10

今日、自分でこの問題に遭遇しました。クリーニングと再構築を行っても問題は解決しませんでした。プロジェクトを削除して再インポートしても解決しませんでした。

最終的に、.class ファイルへの不適切な追加にたどり着きました。これは、別の問題を修正しようとしたときにプラグイン ツールによって追加されたものだと思います。削除すると、「Dalvik 形式への変換がエラー 1 で失敗しました」というビルド エラーが解消されました。

<classpathentry kind="lib" path="C:/dev/repository/android-sdk-windows/platforms/android-3/android.jar">
    <attributes>
        <attribute name="javadoc_location" value="file:/C:/dev/repository/android-sdk-windows/docs/reference"/>
    </attributes>
    <accessrules>
        <accessrule kind="nonaccessible" pattern="com/android/internal/**"/>
    </accessrules>

于 2011-01-11T07:34:07.107 に答える
9

私の場合、追加の JAR 参照がビルド パスに表示されていました。これを削除しましたが、現在は機能しています。

于 2011-05-25T21:46:24.893 に答える
8

私の問題は、ADT バージョン 12.0 と ProGuard の統合が原因でした。このバグは十分に文書化されており、解決策はドキュメントにあります

解決策はここにあります

ProGuard コマンド ライン

于 2011-08-09T18:01:03.507 に答える
7

私の場合、問題は実際には OpenFeint API プロジェクトにあります。ライブラリ プロジェクトとして OpenFeint を追加しました。

ライブラリ プロジェクト]![1]![ここに画像の説明を入力.

ビルド パスにも追加されます。ADT ツール 16 は、このシナリオでエラーを返します。

プロジェクトを右クリックしてビルド パスをクリックし、ビルド パスを構成してイメージを確認し、ここからプロジェクト OpenFeint を削除すれば完了です :)

ここに画像の説明を入力してください

于 2012-02-20T07:05:59.600 に答える
7

私は何か他のものを見つけました。Android は/libsJAR ファイル用のディレクトリを使用します。「Dalvik 形式への変換がエラー 1 で失敗しました」というエラーが何度も表示されますが、これは常に JAR ファイルを間違えた場合に発生します。

/libsここで、新しい JAR ファイルをディレクトリに置き、クラスパスを新しいバージョンに切り替えることで、Roboguice を新しいバージョンにアップグレードしました。それがDalvikエラーの原因でした。

フォルダーから Roboguice JAR ファイルの 1 つを削除すると/libs、エラーは消えました。/libsどうやら、 Java ビルド パスで指定したファイルに関係なく、Android は からすべての JAR ファイルを取得するようです。正確には覚えていませんが、 Android はAndroid 4.0 (Ice Cream Sandwich、ICS)/libsからデフォルトで使用を開始したと思います。

于 2012-04-23T13:32:00.873 に答える
7

一般的に、この問題はビルド パスに不要な JAR ファイルがある場合に発生するようです。

IntelliJ IDEAの作業中にこの問題に直面しました。私にとっては、実行時にコンパイルされていたJUnitおよびMockitoライブラリを追加したために発生しました。これは、モジュール プロパティで "testing" に設定する必要がありました。

于 2012-06-10T15:04:50.087 に答える
7

Proguardを最新バージョンに更新すると解決しました。

  • 私のプロガードパスは C:\Program Files (x86)\Android\android-sdk\tools\proguard\
  • ここから新しいバージョンをダウンロードしました
  • bin フォルダーと lib フォルダーの両方を置き換えました

ああ、助かった!

于 2012-01-17T20:16:50.267 に答える
6

リストされている解決策はどれもうまくいきませんでした。

これが私が問題を抱えていた場所です:

jSoup 外部 JAR ファイルをプロジェクトのパスに追加するには、最初に "libs" という名前のソース フォルダーに配置し、次にそれを右クリックして [ビルド パス] -> [ビルド パスに追加] を選択しました。これにより、Dalvik 変換エラーがスローされました。その JAR ファイルのクラスを「既にインクルードした」と表示されました。プロジェクトのディレクトリを見回したところ、「既に含まれている」場所が実際にはbinディレクトリであることがわかりました。ディレクトリから JAR ファイルを削除しbin、Eclipse でプロジェクトを更新したところ、エラーはなくなりました。

于 2011-10-11T19:21:01.433 に答える
6

以前に提案された解決策はどれもうまくいきませんでした。私の場合、ライブラリ ソース コード フォルダの参照からライブラリ JAR ファイルの使用に切り替えたときに問題が発生しました。当初、Android アプリケーション プロジェクトの Properties\Android page\Library セクションの下に Android ライブラリ プロジェクトが一覧表示されていました。このライブラリは、ライブラリ ソース ディレクトリへのリンクとしてプロジェクト エクスプローラー ツリーでも比較されていました。

そもそも、プロジェクトツリーからディレクトリリンクを削除して、ビルドパスにJARライブラリを追加しただけなのですが、これが原因で例外が発生しました。

正しい手順は次のとおりです (ビルド パスを元に戻し、ライブラリ ソースへの参照を戻した後)。

  • アプリケーション プロジェクトの Properties\ Android ページから実際に参照を削除して、ライブラリ ソース ディレクトリ リンクを適切に削除します。

  • 通常どおり、ライブラリ JAR をアプリケーション プロジェクトのビルド パスに追加します。

于 2011-02-28T18:49:57.733 に答える
5

私は同じ問題を抱えていましたが、これらの解決策はどれもうまくいきませんでした。最後に、コンソールで、エラーが重複したクラス (既存のプロジェクトに 1 つ、追加された jar ファイルに 1 つ) が原因であることがわかりました。

java.lang.IllegalArgumentException: already added: package/MyClassclass;
[2011-01-19 14:54:05 - ...]: Dx1 error; aborting
[2011-01-19 14:54:05 - ...] Conversion to Dalvik format failed with error 1

したがって、プロジェクトに重複したクラスを持つ jar を追加しているかどうかを確認してください。はいの場合は、そのうちの 1 つを削除してみてください。

それは私のために働いた。

于 2011-01-19T13:56:08.497 に答える
5

私は Android 1.6 を使用しており、1 つの外部 JAR ファイルがありました。私にとってうまくいったのは、すべてのライブラリを削除し、プロジェクトを右クリックしてAndroid Tools -> *Fix Project Properties (Android 1.6 を追加したもの) を選択してから、外部 JAR ファイルを追加し直すことでした。

于 2011-08-26T13:29:24.523 に答える
5

私の場合

プロジェクト - >プロパティ - > Javaビルドパス - >順番にエクスポートタブ - > android-support-v4.jarのチェックを外す

于 2012-10-19T05:55:52.480 に答える
5

この答えは基本的に多くの人が言おうとしていることですが、多くの人は理解できないかもしれません。そう...

「別の理由として、JAR ファイルがプロジェクト フォルダーのどこかにあり、それを Java パス ライブラリとして追加した場合が考えられます。パッケージ エクスプローラーには表示されないため、気付かないかもしれませんが、カウントされます。 2 回、恐ろしい Dalvik エラーが発生しました。」12 年 1 月 2 日 6:23 に Rashmi.B が回答

意味:

たとえば、libフォルダーに次の 2 つのライブラリ (.jar) がある場合: *lib* フォルダー内のライブラリー (.jar)

次に、これら 2 つのフォルダーもビルド パスに追加されます。 ビルド パス内のライブラリ

それらが 2 回カウントされることを意味するため、エラーが発生します。

解決:

  1. これらのライブラリをビルド パスから削除し「Android 依存関係」も削除します。 *lib* フォルダにあるライブラリをビルド パスから削除してください!
  2. すべてのプロジェクトをクリーンアップ
  3. プロジェクトをエクスポートする
  4. 楽しみ!:)
于 2015-05-13T23:48:32.277 に答える
5

上記の解決策はすべてうまくいきませんでした。コンパイル済みの .jar は使用していません。私は LVL と Dalvik エラーを使用していますが、これらはすべてマーケット ライセンス ライブラリに関連しています。

この問題は、メイン プロジェクトを削除して再インポートすることで解決しました (既存のソースから新しいプロジェクトを作成します)。

于 2011-01-05T14:25:48.813 に答える
5

多くの場合、プロジェクトをクリーンアップしてもこの問題は解決しません。

しかし、Eclipseでプロジェクトを閉じてから再度開くと、そのような場合は修正されるようです...

于 2011-06-22T21:16:14.920 に答える
5

この問題に遭遇しましたが、私の解決策は 2 つあります。1.) project -> properties -> Androidの下に Android ターゲット バージョンを追加する必要がありました。2.) Google の「サードパーティ製アドオン」をすべて持っているわけではありません。AVD SDK マネージャーで、利用可能なパッケージ->サードパーティ アドオン-> Google Incをクリックします。すべての SDK をダウンロードしたところ、問題は解決しました。

于 2011-07-15T03:49:02.110 に答える
5

Eclipse の Android-Maven-plugin が推移的な参照と、いくつかのプロジェクト (Android ライブラリ プロジェクトを含む) から 2 回参照された参照を認識せず、それらを複数回含めたため、この問題に遭遇しました。Maven がこれらすべてを処理することになっているにもかかわらず、すべてを 1 回だけ含めるために hocus-pocus を使用する必要がありました。

たとえば、globalmentor-google および globalmentor-android (後者は Android ライブラリ) でも使用されるコア ライブラリ globalmentor-core がありました。globalmentor-androidpom.xmlでは、依存関係を「提供済み」としてマークし、それが推移的に含まれていた他のライブラリから除外する必要がありました。

    <dependency>
        <groupId>com.globalmentor</groupId>
        <artifactId>globalmentor-core</artifactId>
        <version>1.0-SNAPSHOT</version>
        <!-- android-maven-plugin can't seem to automatically keep this from being
             included twice; it must therefore be included manually (either explicitly
             or transitively) in dependent projects -->
        <scope>provided</scope>
    </dependency>

次に、最終的なアプリケーションでは、コア ライブラリを明示的にインクルードしないpom.xmlだけでなく、1 つのインクルード パスのみを許可するために、適切なトリックを使用する必要がありました。

    <!-- android-maven-plugin can't seem to automatically keep this from being
        included twice -->
    <!-- <dependency> -->
    <!-- <groupId>com.globalmentor</groupId> -->
    <!-- <artifactId>globalmentor-core</artifactId> -->
    <!-- <version>1.0-SNAPSHOT</version> -->
    <!-- </dependency> -->

    <dependency>
        <groupId>com.globalmentor</groupId>
        <artifactId>globalmentor-google</artifactId>
        <version>1.0-SNAPSHOT</version>
        <exclusions>
            <!-- android-maven-plugin can't seem to automatically keep this from
                being included twice -->
            <exclusion>
                <groupId>com.globalmentor</groupId>
                <artifactId>globalmentor-core</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    <dependency>
        <groupId>com.globalmentor</groupId>
        <artifactId>globalmentor-android</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
于 2011-11-29T18:14:32.593 に答える
5

プロジェクトをきれいにするだけ

これが機能しない場合は、他の解決策を試してください

于 2015-01-11T14:49:16.547 に答える
4

私の場合、ここでの答えはどれも役に立ちませんでした。

私にとっての問題はmvn eclipse:eclipse、Android ライブラリ プロジェクトへのプロジェクト参照であるクラスパス エントリを生成していたことですが、Eclipse ビルド パス設定には表示されませんでした。これは、ライブラリ クラスが dexer に 2 回 (1 回は非表示のプロジェクト参照から、もう 1 回はリンクされたライブラリ JAR から) 格納されることを意味していました。

テキスト エディターで .classpath を開き、projects 要素を手動で削除する必要がありました。これで問題は解決しました。

于 2012-01-14T11:37:16.900 に答える
4

私の場合、exteranl jar が追加されています。そのため、外部 jar の位置を Project Prop の Android 参照の先頭に移動しました--->Java buildPath--->Project references

于 2011-03-17T10:48:19.313 に答える
4

I know it's answered already, but here was my solution:

My Android project was from a Subversion repository, and I just did Checkout as a New Project. I had to manually add my libraries (Android and Java) to the build path, otherwise it wouldn't let me compile. Then I would get the above error.

I had to make a new Android project, and then manually copy over the changes.

于 2011-07-18T17:58:10.973 に答える
4

私の問題は、 Ant + ProGuard + AdMob SDK ライブラリ + デバッグ モードの統合にありました。Ant を使用してデバッグ APK をビルドし、AdMob SDK JAR をlibs/ディレクトリに追加しました。Eclipse は正常にデバッグ APK を生成しましたが、Ant は生成できませんでした。次のエラーが発生しました。

[適用] 予期しないトップレベルの例外: [適用] java.lang.IllegalArgumentException: 既に追加されています: Lcom/google/ads/AdActivity; [適用] com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123)

また、デバッグ ビルド用に ProGuard をオンにしましたbuild.xml(デフォルトはオフです)。

<target name="-debug-obfuscation-check">
    <property name="proguard.enabled" value="true"/>
</target>

それが問題でした。どういうわけか、ProGuard と AdMob SDK はデバッグ モードで一緒に動作しません。AdActivityProGuard はクラスを難読化しなかったため、難読化されていないように見えましbin/proguard/obfuscated.jarたが、同じクラスが AdMob SDK JAR ファイルに存在します。Eclipse は ProGuard なしでデバッグ APK をビルドしていたため、問題なく動作しました。

したがって、私の解決策は、デバッグビルドの ProGuard をオフにすることでしたbuild.xml。それが誰かに役立つことを願っています。

于 2011-08-08T20:22:02.367 に答える
3

クラスパスにprotobuflite(Protocol Buffers by Google)を含むプロジェクトでもまったく同じエラーが発生しました。protobuf-lite.jarその理由は、クラスパスにあり、プロジェクトフォルダーが以前のマシンで構築されていたためだと思います。Mavenをダウンロードしてファイルを再構築し、protobuf-lite.jarそれをユーザーライブラリとしてプロジェクトに新たに追加すると、すべてが正常に機能しました。

于 2011-12-04T03:18:32.203 に答える
3

私のために働いたのは次のとおりです。

  • ビルドを完全にクリーンアップします
  • で見つけた無関係なandroid.jarファイルを削除しましたProject/Properties/Libraries
于 2011-12-25T01:30:43.527 に答える
3

私にとっての問題は、間違ったコンパイラ準拠レベル (1.7 ではなく 1.8) を設定したことでした。

この答えはそれを解決しました:

プロジェクト SDK セクションでは、Android SDK を追加するときに Java SDK を提供する必要があり、すべての Android SDK は SDK として Java 8 を使用するため、プロジェクト レベルが 1.7 であっても間違ったバージョンのクラス ファイルが作成されます (私は知りません)。理由を知っています、私はすべてがプロジェクトレベルで選択されたと思いました)。今、私はSDKを変更しました(Javaバージョン「1.x.0」の部分。)

于 2014-12-25T19:21:59.283 に答える
3

ADT r14 を使用していましたが、ライブラリ プロジェクトを追加しようとすると、このエラーが発生しました。私にとってうまくいったのは、ADTを最新バージョンに更新することだけでした。それは即座に問題を解決しました。stackoverflow に記載されているほとんどすべての回避策を試しましたが、他に何もうまくいきませんでした。

于 2012-08-27T06:55:21.053 に答える
3

project.properties私は、Eclipse プロジェクト内のファイルを手動で編集することで、個人的にこれを修正することができました。

それは何でしたか:

target=android-16
android.library.reference.1=..\\..\\github\\ActionBarSherlock\\library
android.library.reference.2=../../github/android-numberpicker/library

問題が解決したように変更したもの:

target=android-16
android.library.reference.1=../../github/ActionBarSherlock/library
android.library.reference.2=../../github/android-numberpicker/library

このファイルは、「プロジェクト プロパティの修正」ツールを使用しても自動的に修正されませんでした。

于 2013-04-04T07:25:07.547 に答える
2

私はADT7を使用していますが、他の修正は機能しませんでした(しかし、私はまだそれらを実行しました)。

次にproguard.cfg、別のプロジェクトからコピーして、古いADTプロジェクトフォルダーに貼り付けました。そしてワラ、それは働いた。

于 2012-02-01T06:41:35.977 に答える
2

異なるバージョンの同じjarファイルを追加すると、この問題にも直面します。古いバージョンのjarを削除して、プロジェクトをきれいにします。

于 2013-02-15T11:07:20.753 に答える
2

このエラーの原因は

  1. 複数の JAR ファイルを持つ。
  2. JAR ファイルに同様のクラス ファイルがある場合、.dx形式を解析できません。

解決:

  1. 適切な JAR ファイルを作成して選択します。
  2. 最新のものを入手してください。
于 2012-01-19T18:54:51.730 に答える
2

私の場合、問題は 2011 年 3 月に Eclipse と ADT を更新した後に発生しました。私のプロジェクトでは、再構築するために問題を生成していた JAR を使用していますが、以前の解決策はどれも機能しませんでした。すべてを試すのに数日かかり、満足のいく解決策はありませんでした。どうやら、.jar ファイルへの二重参照があったようです。

最後に、私 :

  1. ライブラリから参照を削除し、
  2. アプリケーション内の物理ファイル形式を削除しました。
  3. 「Add External Jars」を使用して.jar(プロジェクト外の別のディレクトリにある)を取得しました
  4. プロジェクト「クリーン」を実行し、
  5. (ctrl)+(shift)+O で jar を呼び出すモジュールへの参照を更新します。

そして、最終的にコンパイルされました。

于 2011-03-11T10:34:59.320 に答える
1

これは通常、eclipse を長時間実行した後、または署名済み apk を正常にビルドした後に発生します。

これに関する私の経験に関する限り、それを修正するには、eclipse を再起動するだけです。

于 2013-10-25T08:41:06.500 に答える
1

私の場合、このエラーを修正するには、携帯電話を USB から取り外すだけで済みました。

于 2013-10-06T19:18:25.890 に答える
1

このエラーは、ADT 17/Tools r17 プレビュー リリースの時点で最終的に修正されるはずです! すべてではないにしても、少なくともいくつかのインスタンス。

于 2012-02-24T02:29:10.193 に答える
1

プロジェクトをエクスポートしようとしたときに、同じ問題が発生しました。コンソールに何も表示されません。

私にとっての解決策は、プロガードを最新バージョンにアップグレードすることでした。これが誰かの助けになることを願っています。

于 2011-10-09T15:17:50.580 に答える
1

同じエラーが発生し、上記のすべてを試しましたが、何も役に立ちませんでした。

私のプロジェクトは GIT ソース管理システムに接続されており、Andorid アプリケーションへのエクスポート中に GIT 関連のタスクがいくつかあることに気付きました。次に、すべての変更を GIT リポジトリにコミットすると、エラーが消えました。

したがって、ソース管理に GIT を使用していて、上記の方法が役に立たない場合は、すべての変更を GIT リポジトリにコミットし (最終的にはアップストリームにプッシュし)、エクスポートを再試行してください。

于 2014-04-01T11:31:26.797 に答える
1

NewRelicユーザーの場合:

アプリに newrelic jar を統合している場合、これは newrelic バージョンが古くなっている場合に発生します。

解決策:

  • newrelic jar を最新バージョンに更新します。Eclipse では、プロジェクトを右クリックして newrelic を更新します。または、新しいバージョンを直接ダウンロードできます。
于 2015-02-04T10:35:28.780 に答える
1

この回答の手順を実行しましたが、まだ解決していません。オンラインで検索を続けたところ、Android デバイスがコンピューターに接続されているときに APK をエクスポートしようとすると、このエラーが発生する可能性があることがわかりました。

デバイスを切断してからプロジェクトを閉じ、コンピューターを再起動し、プロジェクトを開いてクリーニングすると、これが3回発生しました。

于 2012-02-03T16:34:15.250 に答える
0

アプリでLeadboltadsSDKを使用していて、「通知広告」と「ディスプレイ広告」の両方を組み合わせている場合は、通知広告にpubxapp.jarではなくpubxappCom.jarを使用する必要があります。そうしないと、このエラーが発生します。

ハッピーコーディング!

于 2012-12-11T17:49:31.707 に答える
0

プロジェクトフォルダツリーの「lib」ディレクトリにすべての*.jarファイルを含めることをお勧めします。このようにして、プロジェクトのプロパティに移動してビルドパスを定義する必要はありません。「lib」はすでにビルドパスです

于 2012-10-18T08:24:13.520 に答える
0

何も役に立ちませんでしたが、ここで提案された解決策は魅力的でした:

つまり、行-optimizations !code/allocation/variableを追加しますproguard-project.txt

于 2014-03-13T09:38:59.067 に答える
0

このエラーは、ビルド パスから除外したいくつかのファイルが削除されたために発生していましたが、除外リストからは削除されていませんでした。

プロジェクト -> プロパティ -> Java ビルド パス -> ソース タブ -> project/src フォルダー -> 除外をダブルクリック -> プロジェクトに存在しなくなったファイルを削除します。

于 2013-09-23T13:34:48.623 に答える
0

メインのアプリ プロジェクトと、それが使用する Android ライブラリ プロジェクトをクリーンアップしました。問題を解決しました

于 2013-06-03T11:04:55.733 に答える
0

ほとんどの場合、この問題は Proguard のバグまたは破損したバージョンが原因で発生し、何らかの奇妙な理由で公式の Android SDK マネージャーからインストールされることがよくあります

さらなる問題を回避するために、 Proguard バット ファイルを編集しないでください。この問題が発生した場合は、公式サイトからProguard の最新の安定バージョンをダウンロードし、すべての proguard ファイルを置き換えてください。

android-sdk\tools\proguard

ダウンロードしたアーカイブから抽出された最新の proguard ファイルを使用します。

開発者が自分のプロジェクトにライブラリを追加した場合、そのライブラリが必要になる可能性が最も高い場合、すべての外部ライブラリの依存関係を削除しても意味がありません。

于 2013-09-30T13:17:48.907 に答える
0

Android 魔術の別のケースです。他に何も機能しない場合は、マニフェストで versionCode と versionName を 1 ずつ増やしてみてください。

それは私のために働いた。

于 2014-04-30T12:14:27.117 に答える
0

-Java ビルド パスからすべてのライブラリを削除します。そして、もう一度追加します。- プロジェクトをクリーンアップします。

それを実行します。

于 2013-07-29T07:23:09.133 に答える
0

依存関係の Google API がこの問題を引き起こします。削除後、正常に動作します。

于 2013-01-23T07:48:53.177 に答える
0

私も同じ問題を抱えていました。私がチェックしたとき、私が追加した外部jarファイルのそれぞれに1つずつ、同じ名前の2つのクラスがあることがわかりました。次に、jarファイルの1つを削除する必要がありました。幸いなことに、削除した 1 の別の jar ファイルを取得しました。

于 2012-11-28T09:45:44.700 に答える
0

私はすべてを試しましたが、何もうまくいきませんでした。

興味深いことに、proguard を使用して Android アプリケーションをエクスポートすると、「dalvik 形式への変換がエラー 1 で失敗しました」というエラーが発生しましたが、エクスポート中に proguard を使用しないと、APK が正常に作成されました。

最後に、Android プロジェクトの jar の 1 つに.class1.5 MB を超えるサイズのファイルがありました。そのサイズがこの問題の原因でした。そのクラスを多くの小さなクラスに分割したところ、問題は解消されました。

于 2015-12-30T10:38:05.473 に答える
0

これらの答えはどれも私にとってはうまくいきませんでした。私の問題は JUnit と hamcrest が原因です。java.lang.IllegalArgumentException: already added: Lorg/hamcrest/BaseDescription;も参照してください。エラー 1 で Dalvik 形式への変換に失敗しました

于 2012-09-09T08:22:28.967 に答える
0

こんにちは 以前はAndroid SDK Build tools 18.1.1とを持っていましたWindows XP。その後、私のアプリは正しく実行されていました。

しかし、システムをWindows 7更新Android SDK Build tools to 19し、最新の構成に更新しました。

しかし、私のプロジェクトにはxercesImpl-2.9.1.jarファイルがあるので、新しい/更新された構成でアプリケーションを実行し始めたとき、私は得ていました

Conversion to Dalvik format failed with error 1 while parsing org/apache/xerces/impl/xpath/regex/ParserForXMLSchema.class

そのため、この質問に記載されているすべての回答を調べましたが、解決できませんでした。私は4日間疑問に思った後、命を救ったこのリンクを見つけました.これを読んだ後、問題はxercesImpl-2.9.1.jarAndroid SDK Build tools to 19.

そこで、Android SDK ビルド ツールを 18.1.1 にダウングレードしました。そして、私はこの問題を取り除きました。

誰かがこの問題に直面した場合に解決できるように、ここに回答を投稿しています。

それは私をイライラさせました。希望は他の人を助けるでしょう。

于 2014-06-10T12:16:36.263 に答える
-1

ここでの答えはどれも私にとってはうまくいきませんでした。

ただし、メイン アプリケーションを除くすべての添付ライブラリから Android クラスパス コンテナー (私の場合は Android 4.4) を削除し、APK をエクスポートすることでエラーを修正できました。ライブラリ プロジェクトはコンパイルされなくなりますが、jar ファイルは引き続き存在し、APK はデプロイされます。この動作の理由がわかりません。

于 2013-12-20T20:58:56.637 に答える
-14

この問題を解決するには、Android SDK1.6 を Android 2.2 に変更する必要があります。その後、プロジェクトをクリーンアップしてからビルドして実行します。次に、アプリケーションが実行されていることがわかります。

于 2011-02-24T10:50:52.853 に答える