CloseableHttpClient NoSuchFieldError错误

acckInt 2014-07-30 04:25:30
CloseableHttpClient client = HttpClients.createDefault();
在andorid里怎么运行的时候报java.lang.NoSuchFieldError:错误,但是main方法就不报错,什么原因呢
...全文
2116 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
皇家豆瓣酱 2015-08-28
  • 打赏
  • 举报
回复
请问你是如何通过DefaultHttpClient保存cookie。我的跟你的问题一样,也是通过closeableHttpClient来保存cookie,但是也报你哪有的错误。然后DefaultHttpClient也会报那样的错误
majingfeng01 2015-02-26
  • 打赏
  • 举报
回复
引用 8 楼 acckInt 的回复:
[quote=引用 7 楼 birdsaction 的回复:] 把jar放到libs里面应该就可以了。然后在 Order and Export里面把勾上移到最上面 。试试。
还是不行,一样的报错[/quote] 对我非常有用,非常感谢。特地注册个账号感谢你的分享,非常感谢!!!
acckInt 2014-07-31
  • 打赏
  • 举报
回复
引用 9 楼 birdsaction 的回复:
我以前都用 DefaultHttpClient client = new DefaultHttpClient(); 用这个试试吧,没遇到这个问题。
的确换成DefaultHttpClient就可以了,没有使用httpclient4.3那个组件,在android上不会用CloseableHttpClient ,不过现在用DefaultHttpClient能登录获取cookie,同步也就行了
Birds2018 2014-07-30
  • 打赏
  • 举报
回复
我以前都用 DefaultHttpClient client = new DefaultHttpClient(); 用这个试试吧,没遇到这个问题。
acckInt 2014-07-30
  • 打赏
  • 举报
回复
引用 7 楼 birdsaction 的回复:
把jar放到libs里面应该就可以了。然后在 Order and Export里面把勾上移到最上面 。试试。



还是不行,一样的报错
Birds2018 2014-07-30
  • 打赏
  • 举报
回复
把jar放到libs里面应该就可以了。然后在 Order and Export里面把勾上移到最上面 。试试。
acckInt 2014-07-30
  • 打赏
  • 举报
回复
引用 3 楼 birdsaction 的回复:
你用的是copy 一个 apache http的jar包 还是android自带的? 你最好用apache http 新版本的jar包 http://hc.apache.org/downloads.cgi 4.0以上的
我用的也是apache官网上的http://hc.apache.org/downloads.cgi,httpcomponents-client-4.3.4-bin.zip,还是不行,问题和http://stackoverflow.com/questions/19412558/fatalexception-using-httpclient-in-asynctask-with-android这个很相似,但是我就是没明白Project-> config build path-> select lib to export.在哪里,没明白,
Vinsmoke 2014-07-30
  • 打赏
  • 举报
回复
http://bbs.csdn.net/topics/390525139
Vinsmoke 2014-07-30
  • 打赏
  • 举报
回复
我遇到了同样的问题,也在查...网上有说Android4.0以上,如果在主线程里访问网络数据就会报错,建议将这些操作放到子线程里面去。一块试试吧
Birds2018 2014-07-30
  • 打赏
  • 举报
回复
你用的是copy 一个 apache http的jar包 还是android自带的? 你最好用apache http 新版本的jar包 http://hc.apache.org/downloads.cgi 4.0以上的
acckInt 2014-07-30
  • 打赏
  • 举报
回复
引用 1 楼 birdsaction 的回复:
是 HttpClients.createDefault(); 这个有重复? apache httpClient ?
是apache的,
Runnable runnable = new Runnable() {	
			@Override
			public void run() {
				CloseableHttpClient client = HttpClients.createDefault();

				HttpPost httpPost = new HttpPost(loginUrl);
。。。。
}
new Thread(runnable).start();
main方法
public static void main(String[] args) {
		cookiesync();
	}
没有问题, 可是在acitivity里面
@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		cookiesync();
	}
就报错 07-30 16:36:31.206: E/AndroidRuntime(13893): FATAL EXCEPTION: Thread-804 07-30 16:36:31.206: E/AndroidRuntime(13893): java.lang.NoSuchFieldError: org.apache.http.message.BasicLineFormatter.INSTANCE 07-30 16:36:31.206: E/AndroidRuntime(13893): at org.apache.http.impl.io.DefaultHttpRequestWriterFactory.<init>(DefaultHttpRequestWriterFactory.java:52) 07-30 16:36:31.206: E/AndroidRuntime(13893): at org.apache.http.impl.io.DefaultHttpRequestWriterFactory.<init>(DefaultHttpRequestWriterFactory.java:56) 07-30 16:36:31.206: E/AndroidRuntime(13893): at org.apache.http.impl.io.DefaultHttpRequestWriterFactory.<clinit>(DefaultHttpRequestWriterFactory.java:46) 07-30 16:36:31.206: E/AndroidRuntime(13893): at org.apache.http.impl.conn.ManagedHttpClientConnectionFactory.<init>(ManagedHttpClientConnectionFactory.java:72) 07-30 16:36:31.206: E/AndroidRuntime(13893): at org.apache.http.impl.conn.ManagedHttpClientConnectionFactory.<init>(ManagedHttpClientConnectionFactory.java:84) 07-30 16:36:31.206: E/AndroidRuntime(13893): at org.apache.http.impl.conn.ManagedHttpClientConnectionFactory.<clinit>(ManagedHttpClientConnectionFactory.java:59) 07-30 16:36:31.206: E/AndroidRuntime(13893): at org.apache.http.impl.conn.PoolingHttpClientConnectionManager$InternalConnectionFactory.<init>(PoolingHttpClientConnectionManager.java:487) 07-30 16:36:31.206: E/AndroidRuntime(13893): at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:147) 07-30 16:36:31.206: E/AndroidRuntime(13893): at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:136) 07-30 16:36:31.206: E/AndroidRuntime(13893): at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:112) 07-30 16:36:31.206: E/AndroidRuntime(13893): at org.apache.http.impl.client.HttpClientBuilder.build(HttpClientBuilder.java:710) 07-30 16:36:31.206: E/AndroidRuntime(13893): at org.apache.http.impl.client.HttpClients.createDefault(HttpClients.java:58) 07-30 16:36:31.206: E/AndroidRuntime(13893): at com.example.volley2.MainActivity$1.run(MainActivity.java:59) 07-30 16:36:31.206: E/AndroidRuntime(13893): at java.lang.Thread.run(Thread.java:838) 怎么回事呢
Birds2018 2014-07-30
  • 打赏
  • 举报
回复
是 HttpClients.createDefault(); 这个有重复? apache httpClient ?

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧