2015-08-20 5 views
3

Я хочу изменить минимальную версию SDK в Android Studio от API 23 до API 22, поскольку HttpClient не поддерживается в API 23. Я попытался изменить его в build.gradle (Module: приложение), то есть я изменил compileSdkVersion от 23 до 22 и targetSdkVersion от 23 до 22.Ошибка при изменении уровня API от 23 до 22

android { 
compileSdkVersion 23 
buildToolsVersion "22.0.1" 

defaultConfig { 
    applicationId "com.test.gcmgreetingapp" 
    minSdkVersion 11 
    targetSdkVersion 23 
    versionCode 1 
    versionName "1.0" 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 
} 

dependencies { 
compile fileTree(include: ['*.jar'], dir: 'libs') 
compile 'com.android.support:appcompat-v7:23.0.0' 
compile 'com.google.android.gms:play-services:7.8.0' 
compile project(':android-query-full.0.26.7') 
compile 'com.loopj.android:android-async-http:1.4.8' 
} 

Затем, синхронизации и восстановления проекта. Но я получил следующее сообщение об ошибке в консоли Gradle

AGPBI: {"kind":"error","text":"Error retrieving parent for item: No resource found that matches the given name \u0027android:TextAppearance.Material.Widget.Button.Inverse\u0027.","sources":[{"file":"C:\\Users\\nischal.manandhar\\AndroidStudioProjects\\GCMGreetingApp\\app\\build\\intermediates\\exploded-aar\\com.android.support\\appcompat-v7\\23.0.0\\res\\values-v23\\values-v23.xml","position":{"startLine":1}}],"original":""} 
AGPBI: {"kind":"error","text":"Error retrieving parent for item: No resource found that matches the given name \u0027android:Widget.Material.Button.Colored\u0027.","sources":[{"file":"C:\\Users\\nischal.manandhar\\AndroidStudioProjects\\GCMGreetingApp\\app\\build\\intermediates\\exploded-aar\\com.android.support\\appcompat-v7\\23.0.0\\res\\values-v23\\values-v23.xml","position":{"startLine":1}}],"original":""} 


FAILED 

FAILURE: Build failed with an exception. 

Ошибка в файле v23 \ значения-v23.xml

Любая помощь будет высоко оценен. Благодаря!!!

+0

HttpClient устарел – Skynet

+0

Я, но он работал на уровне Апи 22 и теперь его не работает в 23 !! – Nischal

+0

Попробуйте использовать HttpUrlConnection - получил дополнительную поддержку и работает со всеми версиями API :) – Skynet

ответ

1

После некоторых исследований, я получил Apache HTTP клиент работает даже в API 23 с помощью орг .apache.http.legacy.jar. Работает следующая конфигурация.

android { 
compileSdkVersion 23 
buildToolsVersion "22.0.1" 
useLibrary 'org.apache.http.legacy' 

defaultConfig { 
    applicationId "com.test.gcmgreetingapp" 
    minSdkVersion 14 
    targetSdkVersion 23 
    versionCode 1 
    versionName "1.0" 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 
} 

dependencies { 
compile fileTree(include: ['*.jar'], dir: 'libs') 
compile 'com.android.support:appcompat-v7:23.0.0' 
compile 'com.google.android.gms:play-services:7.8.0' 
compile project(':android-query-full.0.26.7') 
compile 'com.loopj.android:android-async-http:1.4.8' 
compile files('libs/org.apache.http.legacy.jar') 
} 

Я вручную скопировать org.apache.http.legacy.jar из Android/SDK/платформ/андроид-23/факультативная папки приложения/ЛИЭС в моем проекте, а затем добавил

useLibrary 'org.apache.http.legacy' 

внутри андроид {...} бирка.

+0

Ваш вопрос заключался в том, чтобы переключить ваш compileSdkVersion с 23 до 22! И вы ответили за то, как заставить HttpClient работать для целевого api 23? !! – shadygoneinsane

1

Изменить его в AndroidManifest.xml

<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="22" /> 

Приветствия

+0

Еще одна ошибка сэр! – Nischal

+0

это худший ответ, не слушайте этого –

2

Попробуйте изменить

compile 'com.android.support:appcompat-v7:23.0.0'

Для

compile 'com.android.support:appcompat-v7:22.2.0'

ли это Alongwith compileSdkVersiontargetSdkVersion набор для 22

+0

Это сработало спасибо! – Nischal

2

Использование этого,

android { 
compileSdkVersion 22 
buildToolsVersion "22.0.1" 

defaultConfig { 
    applicationId "au.com.websutra.gcmgreetingapp" 
    minSdkVersion 11 
    targetSdkVersion 22 
    versionCode 1 
    versionName "1.0" 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 
} 

dependencies { 
compile fileTree(include: ['*.jar'], dir: 'libs') 
compile 'com.android.support:appcompat-v7:22.2.0' 
compile 'com.google.android.gms:play-services:7.5.0' 
compile project(':android-query-full.0.26.7') 
compile 'com.loopj.android:android-async-http:1.4.6' 
} 
+1

Спасибо, это сработало – Nischal

+0

@Nischal Перемещение вперед. Проголосуйте, если поможете. –

2
android { 
compileSdkVersion 22 
buildToolsVersion "22.0.1" 

defaultConfig { 
    applicationId "au.com.websutra.gcmgreetingapp" 
    minSdkVersion 11 
    targetSdkVersion 22 
    versionCode 1 
    versionName "1.0" 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 
} 

dependencies { 
compile fileTree(include: ['*.jar'], dir: 'libs') 
compile 'com.android.support:appcompat-v7:22.2.0' 
compile 'com.google.android.gms:play-services:7.8.0' 
compile project(':android-query-full.0.26.7') 
compile 'com.loopj.android:android-async-http:1.4.8' 
} 

Примечание: Изменить имя папки из "значения-v23" до "значения-V22"

1

Ошибка возникает из-за того, что вы использовали sdk version 23 и build tools 22.0.1. Обновите инструменты сборки до последней версии (загрузите их также). Вот конфигурация:

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.0" 

    defaultConfig { 
    applicationId "com.test.gcmgreetingapp" 
    minSdkVersion 11 
    targetSdkVersion 23 
    versionCode 1 
    versionName "1.0" 
    } 
    buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
    } 
} 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    compile 'com.android.support:appcompat-v7:23.0.0' 
    compile 'com.google.android.gms:play-services:7.8.0' 
    compile project(':android-query-full.0.26.7') 
    compile 'com.loopj.android:android-async-http:1.4.8' 
} 

UPDATE:: До async-http библиотека не обновляется, вы можете использовать это:

android { 
    useLibrary 'org.apache.http.legacy' 
} 
+0

Спасибо, я внесли некоторые изменения в код! – Nischal