Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
bako-95
9 / 9 / 4
Регистрация: 27.04.2015
Сообщений: 112
#1

Java.lang.NoSuchFieldError: org.apache.http.message.BasicHeaderValueFormatter.INSTANCE - Android

17.09.2015, 18:57. Просмотров 1121. Ответов 6
Метки нет (Все метки)

Что означает ошибка
Java
1
java.lang.NoSuchFieldError: org.apache.http.message.BasicHeaderValueFormatter.INSTANCE
Выходит касательно кода, строка 22
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
class RequestTask extends AsyncTask<String, String, String> {
 
        @Override
        protected String doInBackground(String... params) {
 
            try {
                 int i = 1;
                //создаем запрос на сервер
                DefaultHttpClient client = new DefaultHttpClient();
                String filePath = textView1.getText().toString();
                File file = new File(filePath);
                //он у нас будет посылать post запрос
                HttpPost post = new HttpPost("http://autostop.net76.net/login.php");
                //будем передавать два параметра
                MultipartEntityBuilder entityBuilder = MultipartEntityBuilder.create()
                .setMode(HttpMultipartMode.BROWSER_COMPATIBLE)
                .addBinaryBody("uploadedfile", file)
                .addTextBody("ad_name", ad_name2)
                .addTextBody("new", new2)
                .addTextBody("to_what", to_what2);
 
                HttpEntity entity = entityBuilder.build();
                post.setEntity(entity);
 
                HttpResponse response = client.execute(post);
                HttpEntity httpEntity = response.getEntity();
                Log.v("myLogs", EntityUtils.toString(httpEntity));
 
                //посылаем на вторую активность полученные параметры
                Intent intent = new Intent(add.this, Sender.class);
                //то что куда мы будем передавать и что, putExtra(куда, что);
                intent.putExtra(Sender.JsonURL, String.valueOf(response));
                startActivity(intent);
            } catch (ClientProtocolException e) {
            } catch (IOException e) {
            }
            return null;
        }


Не по теме:

Да, я знаю что String filePath = textView1.getText().toString(); внутри АсинкТаск делать нельзя, просто остальной код портачить не охота

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
1564 / 1306 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
17.09.2015, 19:12     Java.lang.NoSuchFieldError: org.apache.http.message.BasicHeaderValueFormatter.INSTANCE #2
bako-95, такое ощущение, что Вы не до конца подключили библиотеку, а именно mime. stackoverflow подсказывает, что надо так:

compile('org.apache.httpcomponents:httpmime:4.3.6') {
exclude module: 'httpclient'
}
compile 'org.apache.httpcomponents:httpclient-android:4.3.5'
bako-95
9 / 9 / 4
Регистрация: 27.04.2015
Сообщений: 112
17.09.2015, 19:19  [ТС]     Java.lang.NoSuchFieldError: org.apache.http.message.BasicHeaderValueFormatter.INSTANCE #3
У меня в Gradle
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
    }
}
 
dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:22.2.1'
    compile('org.apache.httpcomponents:httpmime:4.5') {
        exclude module: "httpclient"
    }
    compile ('org.apache.httpcomponents:httpcore:4.4.3'){
        exclude module: "httpclient"
    }
}
Поменял на
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
    }
}
 
dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:22.2.1'
    compile('org.apache.httpcomponents:httpmime:4.5') {
        exclude module: "httpclient"
    }
    compile 'org.apache.httpcomponents:httpcore:4.4.3'
}
Ничего не поменялось
YuraAAA
1564 / 1306 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
17.09.2015, 19:20     Java.lang.NoSuchFieldError: org.apache.http.message.BasicHeaderValueFormatter.INSTANCE #4
bako-95, Вы можете не вызывать getText в асинктаске, а передать параметром в конструктор.

Java
1
2
3
4
5
6
7
8
9
class RequestTask extends AsyncTask<String, String, String> {
 
private String text;
 
public RequestTask(String text) {
this.text = text;
}
 
.....
и вызов:

Java
1
new RequestTask(textView1.getText().toString()).execute();
Добавлено через 53 секунды
compile 'org.apache.httpcomponents:httpclient-android:4.3.5'

Вот это де?
bako-95
9 / 9 / 4
Регистрация: 27.04.2015
Сообщений: 112
17.09.2015, 20:37  [ТС]     Java.lang.NoSuchFieldError: org.apache.http.message.BasicHeaderValueFormatter.INSTANCE #5
Чет не удается подключится
http://jcenter.bintray.com/ и так и через браузер глючит. не получается скачать
А есть ли существенная разница между 4.3.5 и 4.5.1?
YuraAAA
1564 / 1306 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
17.09.2015, 20:42     Java.lang.NoSuchFieldError: org.apache.http.message.BasicHeaderValueFormatter.INSTANCE #6
bako-95, качайте то, что получается
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.09.2015, 09:39     Java.lang.NoSuchFieldError: org.apache.http.message.BasicHeaderValueFormatter.INSTANCE
Еще ссылки по теме:

Android Gnu.io и org.apache.commons для проекта Android Studio
Android Ava.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String[] link.stuzer.stattrack.data
Java.lang.NumberFormatException: Invalid double Android
Ошибка java.lang.NullPointerException Android
Android Java.lang.OutOfMemoryError

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
bako-95
9 / 9 / 4
Регистрация: 27.04.2015
Сообщений: 112
18.09.2015, 09:39  [ТС]     Java.lang.NoSuchFieldError: org.apache.http.message.BasicHeaderValueFormatter.INSTANCE #7
YuraAAA, Библиотека org.apache.httpcomponents:httpclient-android:4.3.5.1 скачалась и вставилась, но ошибка осталась.
Зато в Gradle появилось 4 warning

Код
Warning:Dependency org.apache.httpcomponents:httpclient:4.5.1 is ignored for release as it may be conflicting with the internal version provided by Android.
         In case of problem, please repackage it with jarjar to change the class packages
Я так понял студио её игнорит и не использует?

весь build.Gradle
Кликните здесь для просмотра всего текста
Код
apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "23.0.0"

    defaultConfig {
        applicationId "com.ww4u.barter"
        minSdkVersion 16
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:22.2.1'
    compile('org.apache.httpcomponents:httpmime:4.5') {
        exclude module: "httpclient"
    }
    compile('org.apache.httpcomponents:httpcore:4.4.3') {
        exclude module: "httpclient"
    }
    compile 'org.apache.httpcomponents:httpclient:4.5.1'
}


Добавлено через 1 час 34 минуты
org.apache.httpcomponents:httpclient-android:4.3.5.1 не хочет ладить с org.apache.httpcomponents:httpcore:4.4.3
а без последнего ошибка
Caused by: java.lang.NoClassDefFoundError: org.apache.http.entity.ContentType

а с org.apache.httpcomponents:httpclient:4.5.1
Кликните здесь для просмотра всего текста
Код
java.lang.RuntimeException: An error occured while executing doInBackground()
            at android.os.AsyncTask$3.done(AsyncTask.java:299)
            at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
            at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
            at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
            at java.util.concurrent.FutureTask.run(FutureTask.java:137)
            at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
            at java.lang.Thread.run(Thread.java:856)
     Caused by: java.lang.NoSuchFieldError: org.apache.http.message.BasicHeaderValueFormatter.INSTANCE
            at org.apache.http.entity.ContentType.toString(ContentType.java:153)
            at org.apache.http.entity.mime.MultipartFormEntity.<init>(MultipartFormEntity.java:53)
            at org.apache.http.entity.mime.MultipartEntityBuilder.buildEntity(MultipartEntityBuilder.java:236)
            at org.apache.http.entity.mime.MultipartEntityBuilder.build(MultipartEntityBuilder.java:240)
            at com.ww4u.barter.add$RequestTask.doInBackground(add.java:229)
            at com.ww4u.barter.add$RequestTask.doInBackground(add.java:208)
            at android.os.AsyncTask$2.call(AsyncTask.java:287)
            at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
************at java.util.concurrent.FutureTask.run(FutureTask.java:137)
************at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
************at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
************at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
************at java.lang.Thread.run(Thread.java:856)
Yandex
Объявления
18.09.2015, 09:39     Java.lang.NoSuchFieldError: org.apache.http.message.BasicHeaderValueFormatter.INSTANCE
Ответ Создать тему
Опции темы

Текущее время: 05:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru