今日、この問題に対処してきましたが、まだ解決策が見つかりません。GAE データストア (エンドポイント経由) と AmazonS3Client を使用した AWS S3 を呼び出す App Engine 接続 Android プロジェクトがあります。カメラから S3 に写真ファイルをアップロードし、それぞれのメタデータをデータストア エンティティ (Photo.java) にアップロードする必要があるところまで来ました。残念ながら、私のコードは正しいと思いますが、aws-android-sdk-XXX-debug.jar と GAE クライアントの 1 つとの間でおそらく衝突するクラスを定義する複数のファイルがあるため、サンプルを実行できません。瓶。
ここに私のコンソールログがあります:
[2013-10-06 20:15:15 - Dex Loader] Unable to execute dex: Multiple dex files define Lorg/codehaus/jackson/Base64Variant;
[2013-10-06 20:15:15 - moodstream_final] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lorg/codehaus/jackson/Base64Variant;
この場合、どうすればよいですか?GAE からインポートされたデフォルトの jar を台無しにしたくありません。また、この衝突を避けるために aws libs から何をインポートすればよいかわかりません。
編集
また、デバッグ jar 全体ではなく、aws-android-sdk-XXX-s3.jar のみをインポートしてみました。プログラムが実行されるようになりましたが、AmazonS3Client を作成するときに次のエラーが発生します。
10-07 02:07:06.286: E/AndroidRuntime(1917): FATAL EXCEPTION: main
10-07 02:07:06.286: E/AndroidRuntime(1917): java.lang.NoClassDefFoundError: com.amazonaws.services.s3.AmazonS3Client
10-07 02:07:06.286: E/AndroidRuntime(1917): at com.moodstream.activity.CreatePhotoActivity.<init>(CreatePhotoActivity.java:42)
10-07 02:07:06.286: E/AndroidRuntime(1917): at java.lang.Class.newInstanceImpl(Native Method)
10-07 02:07:06.286: E/AndroidRuntime(1917): at java.lang.Class.newInstance(Class.java:1319)
10-07 02:07:06.286: E/AndroidRuntime(1917): at android.app.Instrumentation.newActivity(Instrumentation.java:1054)
10-07 02:07:06.286: E/AndroidRuntime(1917): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097)
10-07 02:07:06.286: E/AndroidRuntime(1917): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
10-07 02:07:06.286: E/AndroidRuntime(1917): at android.app.ActivityThread.access$600(ActivityThread.java:141)
10-07 02:07:06.286: E/AndroidRuntime(1917): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
10-07 02:07:06.286: E/AndroidRuntime(1917): at android.os.Handler.dispatchMessage(Handler.java:99)
10-07 02:07:06.286: E/AndroidRuntime(1917): at android.os.Looper.loop(Looper.java:137)
10-07 02:07:06.286: E/AndroidRuntime(1917): at android.app.ActivityThread.main(ActivityThread.java:5041)
10-07 02:07:06.286: E/AndroidRuntime(1917): at java.lang.reflect.Method.invokeNative(Native Method)
10-07 02:07:06.286: E/AndroidRuntime(1917): at java.lang.reflect.Method.invoke(Method.java:511)
10-07 02:07:06.286: E/AndroidRuntime(1917): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
10-07 02:07:06.286: E/AndroidRuntime(1917): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
10-07 02:07:06.286: E/AndroidRuntime(1917): at dalvik.system.NativeStart.main(Native Method)
AmazonS3Client も s3 jar にあるため、わかりません。したがって、まだ立ち往生しています:S。