プロとライトの2つのアプリバージョンがあります。両方ともv1.01ですでに市場に出ています。両方のv1.1をリリースしようとしています。このアップデートには、グローバルリーダーボードを使用するためのSwawrmConnect統合が含まれています。
私は自分のコードを正しく維持していないことを知っていると言うことから始めなければなりません。 2つの完全に独立したアプリがあり、それらのアプリのコードのおそらく90%を共有しています。ライブラリを作成してコードを共有する方法を理解できなかった1週間後または2週間後または3週間後、私はそれらを個別に保守しました。
SwarmConnectは、私が使用した最初のjarであり、2つのアプリのライブラリを作成する必要がありました(以下のファイル構造のスクリーンショットを参照)。
現在、私のライトバージョンは動作しており、リリースの準備ができています。私は現在、プロ版をリリースに必要な場所に持って行こうとしています。すべてのJava/xmlファイルが最新で準備ができていると確信しています。エミュレータでプロバージョンを実行しようとすると、次のエラーが表示されます。
[2013-04-18 11:24:41 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/swarmconnect/loopj/Android/http/AsyncHttpResponseHandler;
[2013-04-18 11:24:41 - BibleTriviaPro] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/swarmconnect/loopj/Android/http/AsyncHttpResponseHandler;
私が試したこと:
私のファイル構造:
問題は、SwarmConnectを2つのプロジェクト(ライトとプロ)のライブラリとして使用しようとしていることでしょうか?
編集:
以下は、完全に機能しているLiteバージョンのファイル構造です。エミュレータでコンパイルおよび実行します。
偶然にも、昨日の前日に同じ問題に遭遇しました。ここにあなたがすることをお勧めします。
何よりもまず、「Android Dependencies」/「libs」フォルダーに現在存在するすべてのjarのバックアップがあることを確認してください。
では、次の手順に従って、まずライトバージョンを修正しましょう。
EclipseのProject Explorerの下の「Android Dependencies」フォルダーからAndroid-support-v4.jar
を除くすべてのjar
ファイルを削除します。
同様に、Android-support-v4.jar
を除くすべてのJarファイルを、EclipseのProject Explorerの下のlibs
フォルダーから削除します。
プロジェクトを右クリック->プロパティを選択-> Java Build Path-> Add External JARsを選択。必要なjar
ファイルをすべて追加します(必ず追加してください特定のjar
ファイルは1回のみ)。
最後にプロジェクトをクリーンアップしてビルドします。次に、同じバージョンの手順をプロ版に適用します。それはそれを行う必要があります。
更新:-これをすべて実行した後、Eclipseがいくつかのコンパイル時エラーについて摩擦しているのを見る場合、必要なインポートを行うことでコンパイル時エラーを修正するだけです Ctrl+Shift+O。
[ソースの依存関係などの点で、プロジェクトのproバージョンとliteバージョンの間にリンクはないと仮定します。基本的に、これらは完全に独立していると言います。]
お役に立てれば。
これがあなたの問題だと強く思う
ライブラリプロジェクトをEclipseのAndroidプロジェクトに追加すると、libsディレクトリに表示されません。実際に.jarファイルだけをプロジェクトに追加しようとしましたそれが間違ったアプローチであると言われました(少なくともAPI 14までは)。
私の推測では、「非プロ」バージョンではプロジェクトオプションにリンクしていないため、正しくコンパイルされます。それでも、ライブラリが独自のリソースにアクセスしようとするときの問題を回避するために、今説明した方法でリンクする必要があります。
上記の解決策は私にとってはうまくいきませんでした。私がしなければならなかったのは、外部でlibsフォルダにjarを追加し、注文とエクスポートタブの下でUncheck Android private library。
right click--
Java build path--
order and export tab ->Uncheck Android private libraries
and add jars in the libs folder externally.
上記の手順を実行します。なぜこれが起こっているのか分からない。
上記の@Sriramの答えを試しました。うまくいきませんでした。
次に、プロジェクト->プロパティ-> Javaビルドパス->ライブラリの場所からライブラリを削除し、実際のjarファイル(Android-support-v4.jarとAndroid-support-v13.jarの両方が必要)をlibsフォルダに追加する必要がありました私のプロジェクトの。それは働いた:
(「参照ライブラリ」フォルダーがないことに注意してください)