Как сделать поддержку приложений на Android 9 - PullRequest
0 голосов
/ 21 марта 2019

Мне нужно создать приложение, оно поддерживает до android 9 с настройкой gradle, похожей на

compileSdkVersion 25
buildToolsVersion "26.0.0"
useLibrary 'org.apache.http.legacy'
defaultConfig {
    applicationId "com.sdept.company.starmobile"
    minSdkVersion 19
    targetSdkVersion 26
    versionCode 6

    versionName "1.6"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.google.code.gson:gson:2.4'
//    implementation 'com.google.firebase:firebase-core:16.0.1'
compile 'org.apache.httpcomponents:httpcore:4.2.4'
compile 'org.apache.httpcomponents:httpmime:4.3'
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
compile 'pl.droidsonroids.gif:android-gif-drawable:1.1.+'
compile 'com.android.support:support-v4:25.3.1'
compile 'com.google.code.gson:gson:2.4'
compile 'com.google.zxing:core:3.2.1'
compile 'com.google.android.gms:play-services-maps:11.0.4'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.android.support:cardview-v7:25.3.1'
compile 'com.journeyapps:zxing-android-embedded:3.2.0@aar'
compile 'com.google.firebase:firebase-messaging:11.0.4'
testCompile 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'

с приведенной выше настройкой, которая хорошо работает при отладочной версии приложения, но когда я пытаюсь загрузить в GooglePlay, Google Play потребовал, чтобы я изменил min targetSDKVersion на 28., поэтому я изменил его на

compileSdkVersion 25
buildToolsVersion "26.0.0"
useLibrary 'org.apache.http.legacy'
defaultConfig {
    applicationId "com.sdept.company.starmobile"
    minSdkVersion 19
    targetSdkVersion 28
    versionCode 6

    versionName "1.6"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.google.code.gson:gson:2.4'
//    implementation 'com.google.firebase:firebase-core:16.0.1'
compile 'org.apache.httpcomponents:httpcore:4.2.4'
compile 'org.apache.httpcomponents:httpmime:4.3'
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
compile 'pl.droidsonroids.gif:android-gif-drawable:1.1.+'
compile 'com.android.support:support-v4:25.3.1'
compile 'com.google.code.gson:gson:2.4'
compile 'com.google.zxing:core:3.2.1'
compile 'com.google.android.gms:play-services-maps:11.0.4'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.android.support:cardview-v7:25.3.1'
compile 'com.journeyapps:zxing-android-embedded:3.2.0@aar'
compile 'com.google.firebase:firebase-messaging:11.0.4'
testCompile 'junit:junit:4.12'
//    compile 'com.squareup.retrofit2:retrofit:2.1.0'
// JSON Parsing
//    compile 'com.google.code.gson:gson:2.6.1'
//    compile 'com.squareup.retrofit2:converter-gson:2.1.0'
//    compile 'com.google.android.gms:play-services-appindexing:11.0.4'
}
apply plugin: 'com.google.gms.google-services'

, это успешно, когда вы загружаете в PlayStore, но приложение не может работать на Android 9, где часть кода янадо поменять так, чтобы нормально работало в Android 9 (Пирог)

Ответы [ 2 ]

0 голосов
/ 21 марта 2019

Сначала , вам нужно настроить ваше приложение build.gradle для поддержки Android 9, который является уровнем API 28, нацеливаясь на уровень API 28. Итак, измените свою сборку. переходите к чему-то такому:

apply plugin: 'com.android.application'

android {
  compileSdkVersion 28
  buildToolsVersion "28.0.3"


  defaultConfig {
    minSdkVersion 15
    targetSdkVersion 28

     ...
  }

  ...

}

...

dependencies {
    ...
    implementation 'com.android.support:appcompat-v7:28.0.0'
}

Второй , убедитесь, что вы используете https вместо http. Пожалуйста, посетите мой предыдущий ответ для деталей: Интернет-разрешение не работает в oreo и pie

Посетите Изменения в поведении: приложения, ориентированные на уровень API 28+ , для получения подробной информации об изменениях в уровне API 28 +.

0 голосов
/ 21 марта 2019

Измените свою конфигурацию следующим образом buildToolsVersion = "21.0.1" minSdkVersion = 16 compileSdkVersion = 28 targetSdkVersion = 27 supportLibVersion = "28.0.0"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...