Androidで SmugFig SmugMug APIを使用しようとしています。私が想像するJ2SE向けに設計されたため、Androidでも動作するかどうかはわかりませんが、独自のAPIを作成するのではなく、試す価値があると考えました。
プロジェクトをロードすると、次のエラーが表示されます。
Conversion to Dalvik format failed: Unable to execute dex: null
どのパッケージで失敗するかは言わず、単に「Android Packaging Problem」ですが、SmugFigとその依存関係JARSをビルドパスに追加する前は、これを行いませんでした。
どこを見ればいいの?または、これは主に、これらのライブラリでは機能しないということですか?
Eclipse.iniで割り当てられたメモリを-Xms128m -Xmx512mまたはそれ以上に増やすというブログエントリを見つけましたが、これは私には役立ちませんでした。
しかし、Project> Cleanの実行を提案し、それを修正してくれる別の投稿を見つけました。最初にエミュレーターをシャットダウンせずにEclipseをシャットダウンしたときに起こると思います。かなり不自由なバグ。今朝、解決策を数時間掘り当てました... grrrrrrr :-(
プロジェクト"プロパティ"Java Build Path"Librariesに移動し、「Android XY」以外のすべてを削除します(私の場合Android 1.5)。[OK]をクリックします。 [プロジェクト]"[クリーン]"[以下で選択したプロジェクトをクリーン]"プロジェクトを選択して[OK]をクリックします。
プロジェクトフォルダーのどこかにJARファイルがあり(Admob JARファイルを自分のsrcフォルダーにコピーした)、それをJava Path Libraryとして追加しました。パッケージエクスプローラーの下に表示されないため、気づきませんが、2回カウントされ、恐ろしいDalvikエラー1が発生します。
別の考えられる理由は、パッケージ名の競合です。このパッケージ内にパッケージcom.abc.xyzとA.Javaというクラスがあり、同じcom.abc.xyz.A.Javaを含む別のライブラリプロジェクト(このプロジェクトの依存関係に追加される)があるとします。その後、まったく同じエラーが発生します。これは、同じファイルA.Javaへの複数の参照があり、適切にビルドできないことを意味します。
Eclipse DDMSアップデート8.0.0のリリース後Android 2.3にこのエラーが突然現れました。
上記の提案はいずれも役に立ちませんでしたが、問題の根本は参照プロジェクト(サーバー側とクライアント側で共有されるいくつかのクラス)であることが判明しました。
プロジェクトの参照を削除し、一度参照したプロジェクトのjarをビルドして含めたら、問題はなくなりました。
DDMS 8.0.0で参照されたプロジェクトで何かが不正になったようです。
私のために働いたのは、Android.jarリファレンスを削除することでした
ビルドパスの構成-> Javaビルドパス->ライブラリ
Android 3.0ライブラリリファレンスを残します。
その理由は、いくつかのJARファイルが占有するヒープサイズのためです...手動で削除できます...
それ以外の場合の最良のオプションは、Eclipseフォルダー内のEclipse.iniファイルを変更することです。
-Xmx1024mをファイルに追加して、メモリサイズを1 GBにします...確実に動作します.....
このエラーを削除するのに役立つ手順
これがあなたのお役に立てば幸いです。ありがとう。
http://groups.google.com/group/Android-developers/browse_thread/thread/3911749addce534d
彼らは現在、2.3の修正プログラムのプッシュに取り組んでいます。
編集:これは2.3で修正され、Eclipse経由でアップデートを入手してください。
-startup
plugins/org.Eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.Eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502
-showsplash
org.Eclipse.platform
--launcher.XXMaxPermSize
512m
--launcher.defaultAction
openFile
-XX:MaxPermSize=512m
-vmargs
-Xms512m
-Xmx1024m
私のために働く https://groups.google.com/forum/?fromgroups=#!topic/phonegap/yWePvssyiLE
これだけが私の問題を解決します。Project> Clean
JarおよびEclipse内で同じプロジェクトを参照しないようにしてください。たとえば、Eclipseにmyprojectというプロジェクトがあります。あなたのAndroidプロジェクトはmyprojectプロジェクトとそれから生成されたjarの両方を参照します。myprojectおよびmyproject.jarから生成されたクラスに対してデックスしようとするとデックスしようとするとエラーが発生します。
New Relic
を使用するプロジェクトの場合
Project r'click-> Update New Relic
の下の[Update New Relic]でNew Relicを更新します。これは私のために働いた。
ここ これらのエラーは巨大な.Javaファイルが原因であることを示唆しています。
私は同じ問題を抱えていて、割り当てられたメモリを増やすことでうまくいきます。
/home/user/.Androidフォルダーを削除するのに役立ちます。 OS:Debian Wheezy 32ビット
前に述べた「修正」はどれも私にとってはうまくいきませんでしたが、そもそも問題に対処することすらしていないので、驚くことではありません。
バグ自体は、Proguardとの競合に起因しています。バグレポートは次のとおりです: http://code.google.com/p/Android/issues/detail?id=18359 そして修正するには、 Proguardを手動で更新する必要があります: http://sourceforge.net/projects/proguard/files/latest/download?source=files