当我调试我的应用程序它工作正常,但当我尝试导出我的apk并安装它我得到这个问题:
java.lang.NoClassDefFoundError: org.apache.http.params.SyncBasicHttpParams
at aig.a(Unknown Source)
at ahy.q(Unknown Source)
at ahy.d(Unknown Source)
at ahy.r(Unknown Source)
at ahy.c(Unknown Source)
at ahy.a(Unknown Source)
at ahy.a(Unknown Source)
at ahy.execute(Unknown Source)
at com.application.Login.a(Unknown Source)
at com.application.Login.onCreate(Unknown Source)
at android.app.Activity.performCreate(Activity.java:5115)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1083)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2162)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2248)
at android.app.ActivityThread.access$600(ActivityThread.java:145)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1246)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5095)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665)
at dalvik.system.NativeStart.main(Native Method)
我正在使用proguard,
我添加了参考库,如下所示:
-libraryjars /libs/org.apache.httpcomponents.httpclient_4.2.1.jar
-libraryjars /libs/signpost-commonshttp4-1.2.1.1.jar
-libraryjars /libs/signpost-core-1.2.1.1.jar
-libraryjars /libs/signpost-jetty6-1.2.1.1.jar
-libraryjars /libs/twitter4j-core-2.1.6.jar
任何想法.. @ thanks
答案 0 :(得分:2)
将以下行添加到proguard-project.txt
文件中:
-keep class org.apache.http.** {
*;
}
我还建议您使用repackaged version of HttpClient for Android而不是原始的HttpClient jar来避免类与Android捆绑的版本发生冲突。但据我所知,您还需要重建Signpost HttpClient模块以使用ch.boye.httpclientandroidlib
包而不是org.apache.http
(并且不要忘记更新proguard-project.txt
中的包名称)。
答案 1 :(得分:2)
答案 2 :(得分:1)
导入捆绑包
Import-Package: org.apache.http.params
答案 3 :(得分:1)
在标准的Android版本(Ant,Eclipse,Gradle)中,不要指定-libraryjars或-injars,因为构建脚本已经为您指定了这些脚本。只需确保像往常一样将所有必要的库jar添加到libs目录中,因此构建脚本将包含它们。
在Eclipse中,库可能需要标记为已导出。