AndroidStudio用于开发安卓Apk非常地方便,但是它的很多设置都与Eclipse不一样,在AndroidSutdio中没有Java编译路径的入口,就很难找到添加jar的入口。那么如何给项目中添加新的jar包?
下面以HttpClient的包为例:
1.HttpClient类无法用时,需要导入jar包,在lib文件夹中找到要导入的jar包,并复制(如下图)。
将复制的包粘贴到libs包中
2.打开File中的Project Structure
3.选择Dependencies,点击加号选择File dependency,在libs中选择要导入的jar包。
这样就可以用了。
如果出现 Error:duplicate files during packaging of APKD:\test\app\build\outputs\apk\app-debug-unaligned.apk
packagingOptions { exclude 'META-INF/DEPENDENCIES' exclude 'META-INF/NOTICE' exclude 'META-INF/LICENSE' exclude 'META-INF/LICENSE.txt' exclude 'META-INF/NOTICE.txt' exclude 'META-INF/ASL2.0' }就可以应用HttpClient类了
class NetWorkThread extends Thread{ @Override public void run() { //创建HttpClient HttpClient httpClient = new DefaultHttpClient(); //创建代表请求的对象,参数是访问服务器的地址 HttpGet httpGet = new HttpGet("https://www.baidu.com/"); org.apache.http.Header[] resHeaders = httpGet.getAllHeaders(); for(int i = 0; i < resHeaders.length;i++) { String name = resHeaders[i].getName(); String value = resHeaders[i].getValue(); Log.d("TAG","requst Header name:"+ name +"value"+value); } //执行请求,获取服务器发还的相应对象 try { HttpResponse httpResponse = httpClient.execute(httpGet); Header[] responseHeader = httpResponse.getAllHeaders(); for (int i = 0; i < responseHeader.length; i++) { String name = responseHeader[i].getName(); String value = responseHeader[i].getValue(); Log.d("service","requst Header name"+name+"value"+value); } //检查响应状态是否正常,状态码值为200 int code = httpResponse.getStatusLine().getStatusCode(); if(code == 200) { //从响应对象中取得数据 HttpEntity httpEntity = httpResponse.getEntity(); InputStream in = httpEntity.getContent(); BufferedReader reader = new BufferedReader(new InputStreamReader(in)); String line = null; while((line = reader.readLine()) != null){ Log.d("TAG","redline:"+line); } } } catch (Exception e) { e.printStackTrace(); } } }