Мое приложение для Android отклоняют из PlayStore

Я загружаю свое приложение в Android PlayStore, и оно отклоняется из-за СМС-разрешение в нем, но в моем файле Манифест.xml есть разрешение на смс не добавлено.

После разговора с командой Google они сказали, что для SMS доступно разрешение, и я не могу его найти.

Ниже приведен снимок экрана, предоставленный командой Google, и там есть разрешение на использование SMS.

Мое приложение для Android отклоняют из PlayStore

Мой файл манифеста выглядит так

<manifest xmlns:android = "http://schemas.android.com/apk/res/android"
    xmlns:tools = "http://schemas.android.com/tools"
    package = "com.msonline.android">

    <uses-permission android:name = "android.permission.READ_CONTACTS" />
    <uses-permission android:name = "android.permission.INTERNET" />
    <uses-permission android:name = "android.permission.READ_PHONE_STATE" />
    <uses-permission android:name = "android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name = "android.permission.ACCESS_WIFI_STATE" />

    <application
        android:name = ".ApplicationClass"
        android:allowBackup = "true"
        android:icon = "@drawable/app_icon"
        android:label = "@string/app_name"
        android:roundIcon = "@mipmap/ic_launcher_round"
        android:supportsRtl = "true"
        android:theme = "@style/MSOAppTheme"
        tools:ignore = "AllowBackup,GoogleAppIndexingWarning"
        tools:replace = "android:allowBackup,android:icon,android:label,android:theme">

//Other declarations of Activities

    </application>

</manifest>

Любая помощь заметна заранее.

Изменить №1

build.gradle

    apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "package name"
        minSdkVersion 16
        targetSdkVersion 28
        versionCode 31
        versionName "4.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
                    multiDexEnabled true
        vectorDrawables.useSupportLibrary = true
    }
    buildTypes {
        release {
            debuggable false
            shrinkResources true
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    lintOptions {
        checkReleaseBuilds false
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support:support-v4:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'com.android.support:recyclerview-v7:28.0.0'
    testImplementation 'junit:junit:4.12'
    implementation 'com.android.support:design:28.0.0'
    implementation 'com.android.support:cardview-v7:28.0.0'
    implementation('com.crashlytics.sdk.android:crashlytics:2.7.1@aar') {
        transitive = true
    }
    implementation 'pub.devrel:easypermissions:1.3.0'
    implementation 'com.squareup.retrofit2:retrofit:2.5.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.4.0'
    implementation 'com.squareup.okhttp3:logging-interceptor:3.8.1'
    implementation 'com.onesignal:OneSignal:3.10.3'
    implementation 'com.android.support:multidex:1.0.3'
    implementation 'com.google.firebase:firebase-config:16.4.1'
    implementation "com.google.firebase:firebase-core:16.0.8"
    implementation 'com.facebook.fresco:fresco:1.7.1'
    implementation 'com.squareup.picasso:picasso:2.71828'
    implementation('com.payumoney.sdkui:plug-n-play:1.0.0') {
        transitive = true;
        exclude module: 'payumoney-sdk'
    }
    implementation 'com.payumoney.core:payumoney-sdk:7.1.0'
//    implementation 'com.google.android.gms:play-services-ads:17.1.1'
    implementation 'com.google.android.gms:play-services-ads:17.2.0'
    implementation 'com.google.android.gms:play-services-location:16.0.0'


    implementation project(':libraryMobilePaymentSDKLive')
}
apply plugin: 'com.google.gms.google-services'

Manifest of Lib added

<manifest xmlns:android = "http://schemas.android.com/apk/res/android"
package = "com.atom.library_mobilepaymentsdk"
android:versionCode = "3"
android:versionName = "3.3" >

<application
    android:allowBackup = "true"
    android:icon = "@drawable/process"
    android:label = "atom payment SDK"
    android:theme = "@android:style/Theme.Holo.Light" >
</application>

Опубликуйте свой файл build.gradle. Возможно, некоторые из зависимостей добавляют разрешение SMS.

atarasenko 16.05.2019 09:34

Я не понимаю, о чем вы спрашиваете. Гугл говорит добавить <uses-permission android:name = "android.permission.RECEIVE_SMS" />. В вашем манифесте его все еще нет. Почему не добавил?

The Vee 16.05.2019 09:35

@TheVee: я не хочу добавлять разрешение для SMS, так как сейчас в нем нет необходимости, и я удалил разрешение из своего файла манифеста, но каким-то образом оно отображается для команды Google, и из-за этого приложение получает отклоненный

Rakshit Nawani 16.05.2019 09:36

@atarasenko : Вопрос отредактирован, пожалуйста, просмотрите его

Rakshit Nawani 16.05.2019 09:39

Пожалуйста, проверьте манифест в финальной версии apk. При создании окончательного apk gradle объединит манифесты приложения и библиотеки.

shivam gupta 16.05.2019 09:45
2
5
496
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Сторонние библиотеки также вносят свой вклад в ваше дерево разрешений. В вашем случае указанная ниже библиотека, которую вы используете, объявлена ​​RECEIVE_SMS в манифесте.

com.payumoney.sdkui:plug-n-play:1.0.0

Вы можете проверить манифест sdk из репозитория sdk git, используя ниже этот связь.

В манифесте определен RECEIVE_SMS.

<uses-permission
        android:name = "android.permission.RECEIVE_SMS"
android:protectionLevel = "signature" />

Что вы можете попробовать сделать, так это удалить это разрешение, сначала объявить в своем манифесте tools:node = "remove", а затем добавить

<uses-permission android:name = "android.permission.RECEIVE_SMS" tools:node = "remove" />

В окончательном объединенном манифесте не будет RECEIVE_SMS.

Это помогло мне. Пожалуйста, также добавьте приведенный ниже код, который удалит разрешение из сборки релиза, поэтому из-за этого кода мне не нужно связываться с поставщиком SDK <uses-permission android:name=”android.permission.RECEIVE_SMS” инструменты: узел = «удалить» />

Rakshit Nawani 16.05.2019 09:55

Наверняка вы используете стороннюю библиотеку, которая добавляет это разрешение. Что вы можете попробовать сделать, так это удалить это разрешение, сначала объявить в своем манифесте tools:node = "remove", а затем добавить

<uses-permission android:name = "android.permission.RECEIVE_SMS" tools:node = "remove" />

В окончательном объединенном манифесте не будет RECEIVE_SMS.

Другие вопросы по теме