5

Eclipse から署名付き APK を取得しようとしています。正常に動作するデバッグ可能な apk バージョンがあります。リリースのために、Eclipse ADT でコンパイルして署名しようとすると、多くの警告が表示されますが、そのほとんどはcan't find superclass or interface some.package.Class. それで、私はこれこれ、および他の多くを参照しましたが、残念ながらどこにも到達できませんでした!

Note: there were 314 duplicate class definitions.警告も出ます

私のprogaur-project.txtは以前は手付かずでした。そのため、フォルダー-libraryjars /libs/lib-nameに存在する各jarに追加しました。/EcliseProject/libs/だから私は次のことを思いついた:

-libraryjars /libs/android-support-v4.jar -libraryjars /libs/apache-mime4j-core-0.7.2.jar -libraryjars /libs/gcm.jar -libraryjars /libs/httpclient-4.3.3.jar -libraryjars /libs/httpcore-4.3.2.jar -libraryjars /libs/httpmime-4.3.3.jar -libraryjars /libs/library.jar -libraryjars /libs/nineoldandroids-2.4.0.jar

これの終わりまでに、上記のようにスーパークラスまたはインターフェースが見つからないという1800以上の警告を受け取りました。そのため、これらのクラスを含む jar を取得し、それらも /lib/ フォルダーに配置し、など-libraryjarsを含むエントリを追加しましrt.jarた。その後、いくつかの警告がさらに表示されましたlibrary class org.xmlpull.v1.XmlPullParser depends on program class java.lang.String

を追加したり-dontskipnonpubliclibraryclasses、いくつか追加したりし-dontwarnましたが、これまでのところ何も機能しませんでした。

ある時点で-dontwarn、apk が作成されるように十分に維持しましたが、ログイン画面 (最初のアクティビティ) が表示され、ボタンをクリックするとそこでスタックしました。

私が推測する非常に基本的な何かが欠けています。最近は、正常に動作するデバッグモード apk でテストしていました。このトラブルはなぜですか?助けてください!!

4

1 に答える 1

1

OK、 stackoverflow内で何度もグーグル検索を行った後、なんとか解決策を得ることができました。以下は私のproguard-project.txtファイルです:

-libraryjars /libs/android-support-v4.jar
-libraryjars /libs/apache-mime4j-core-0.7.2.jar
-libraryjars /libs/gcm.jar
-libraryjars /libs/httpclient-4.3.3.jar
-libraryjars /libs/httpcore-4.3.2.jar
-libraryjars /libs/httpmime-4.3.3.jar
-libraryjars /libs/library.jar
-libraryjars /libs/nineoldandroids-2.4.0.jar

-keepnames class org.apache.** {*;}
-keep public class org.apache.** {*;}
-dontwarn org.apache.commons.**
-dontwarn org.apache.http.annotation.ThreadSafe
-dontwarn org.apache.http.annotation.Immutable
-dontwarn org.apache.http.annotation.NotThreadSafe
-dontwarn org.apache.http.impl.auth.GGSSchemeBase
-dontwarn org.apache.http.impl.auth.KerberosScheme
-dontwarn org.apache.http.impl.auth.NegotiateScheme
-dontwarn org.apache.http.impl.auth.KerberosScheme
-dontwarn org.apache.http.impl.auth.SPNegoScheme
-dontwarn se.emilsjolander.stickylistheaders.StickyListHeadersListView
-dontwarn android.net.http.AndroidHttpClient

他の人に役立つことを願っています, ありがとう!

于 2014-07-06T17:40:27.780 に答える