次のエラーで常にProGuardが表示されます。
[2012-05-19 17:50:13 - xxx] Warning: there were 13 unresolved references to program class members.
[2012-05-19 17:50:13 - xxx] Your input classes appear to be inconsistent.
[2012-05-19 17:50:13 - xxx] You may need to recompile them and try again.
[2012-05-19 17:50:13 - xxx] Alternatively, you may have to specify the option
[2012-05-19 17:50:13 - xxx] '-dontskipnonpubliclibraryclassmembers'.
[2012-05-19 17:50:13 - xxx] Error: Please correct the above warnings first.
[2012-05-19 17:55:40 - xxx] Proguard returned with error code 1. See console
[2012-05-19 17:55:40 - xxx] Note: there were 239 duplicate class definitions.
[2012-05-19 17:55:40 - xxx] Warning: org.Apache.http.entity.mime.FormBodyPart: can't find superclass or interface org.Apache.james.mime4j.message.BodyPart
[2012-05-19 17:55:40 - xxx] Warning: org.Apache.http.entity.mime.HttpMultipart: can't find superclass or interface org.Apache.james.mime4j.message.Multipart
[2012-05-19 17:55:40 - xxx] Warning: org.Apache.http.entity.mime.MinimalField: can't find superclass or interface org.Apache.james.mime4j.parser.Field
私のproguard.cfgファイルは:
-keep class Android.support.v4.app.** { *; }
-keep interface Android.support.v4.app.** { *; }
-keep class com.actionbarsherlock.** { *; }
-keep interface com.actionbarsherlock.** { *; }
-keepattributes *Annotation*
-keepattributes SourceFile, LineNumberTable
-libraryjars /libs/crittercism_v2_0_1.jar
-libraryjars /libs/dropbox-Android-sdk-1.2.2.jar
-libraryjars /libs/FlurryAgent.jar
-libraryjars /libs/httpmime-4.0.3.jar
-libraryjars /libs/json_simple-1.1.jar
私はすでにすべての外部ライブラリを追加しましたが、なぜこれらのエラーが常に発生するのですか?誰か助けてもらえますか?
EDIT 21.05.2012:問題は、「Dropbox」jarと「ActionBarSherlock」を追加した場合です。 「Dropbox」だけを追加しても問題ありません。 「ActionBarSherlock」だけを追加しても問題ありません。しかし、両方を追加すると、上記のエラーが発生します。
「ActionBarSherlock」および「DropBox」jarをプロジェクトに追加した場合に問題が発生します。この問題を解決するには、次の行をproguard-project.txtファイルに追加します。
-dontwarn org.Apache.**
警告は無視され、それぞれのjarファイルだけが機能しているので機能します。したがって、両方が追加された場合、これはProGuardのバグになると思います。
おそらくあなたは次のことをする必要があります:
-keepクラスorg.Apache.http。**
-keepインタフェースorg.Apache.http。**
もちろん、これはProGuardがApacheクラスについて不平を言っていることを前提としています。確かに、私はProGuardの専門家ではないので、多少推測しています。