Я загружаю 4 Apk моего VoIP-приложения в Alpha Close Testing. Через один день я получил письмо о Мы не можем протестировать ваше приложение на функциональность Auto без двух тестовых учетных записей. Пожалуйста, ответьте на это письмо, указав данные для входа во второй тестовый аккаунт, и отправьте свое приложение на повторную проверку через игровую консоль . после того, как я отвечу на свои учетные данные и снова отправлю приложение. на следующий день я получил такое же письмо от Google, и еще одна вещь заключается в том, что в моем приложении Play Console отображается статус Опубликовано .
Теперь я получил другое письмо от Google. . В настоящее время внесите необходимые изменения в свое приложение и повторите отправку, или же вы можете загрузить новый APK в свою игровую приставку. После того как вы нажмете Отправить, наша команда еще раз проверит ваше приложение, чтобы убедиться, что оно соответствует нашим рекомендациям по созданию приложений для Android. Авто
Заранее спасибо.
Это мой файл app.gradle.
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.github.dcendents.android-maven'
group = 'com.github.jitpack'
configurations {
playstoreCompile
freeCompile
}
repositories {
mavenCentral()
}
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.28.1'
}
}
android {
compileSdkVersion 27
buildToolsVersion "27.0.3"
defaultConfig {
applicationId "xxx.com.xxxxx.mobileapp"
minSdkVersion 17
targetSdkVersion 27
versionCode 4
versionName "1.0.4"
multiDexEnabled true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
ndk {
abiFilters "armeabi", "armeabi-v8a", "x86", "mips"
}
javaCompileOptions {
annotationProcessorOptions {
includeCompileClasspath false
}
}
}
flavorDimensions "default"
splits {
abi {
enable true
reset()
include "armeabi", "armeabi-v7a", "x86", "x86_64"
universalApk false
}
}
project.ext.versionCodes = ['armeabi': 1, 'armeabi-v7a': 2, 'x86': 3, 'x86_64': 4]
android.applicationVariants.all { variant ->
variant.outputs.each { output ->
output.versionCodeOverride =
project.ext.versionCodes.get(output.getFilter(
com.android.build.OutputFile.ABI), 0) * 1000000 + android.defaultConfig.versionCode
}
}
allprojects {
repositories {
maven {
url 'http://dl.bintray.com/amulyakhare/maven'//url 'https://jitpack.io'
}
maven {
url 'https://jitpack.io'
}
}
}
dexOptions {
javaMaxHeapSize "4g"
jumboMode true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
productFlavors {
free
}
lintOptions {
disable 'NamespaceTypo', 'MissingTranslation', 'RestrictedApi', 'InvalidPackage', 'MissingQuantity', 'AppCompatResource'
checkReleaseBuilds false
abortOnError false
}
buildTypes {
release {
aaptOptions {
cruncherEnabled = false
}
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled false
debuggable true
ext.enableCrashlytics = true
}
}
sourceSets {
main {
aidl.srcDirs = ['src/main/java']
jniLibs.srcDirs = ['libs']
}
instrumentTest.setRoot('tests')
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
packagingOptions {
exclude 'META-INF/BCKEY.DSA'
exclude 'META-INF/BCKEY.SF'
}
}
repositories {
mavenCentral()
maven { url 'https://maven.fabric.io/public' }
maven {
url 'https://jitpack.io'
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile project(':alphabetsindexfastscrollrecycler')
compile project(':android-support-v4-preferencefragment')
compile project(path: ':app:libs:MemorizingTrustManager')
compile files('libs/libphonenumber-5.0v1.5.jar')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile('com.crashlytics.sdk.android:crashlytics:2.7.1@aar') {
transitive = true;
}
compile('io.fabric.sdk.android:fabric:1.3.10@aar') {
transitive = true;
}
compile('com.wefika:flowlayout:0.4.1') {
exclude group: 'com.intellij', module: 'annotations'
}
compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
compile('com.theartofdev.edmodo:android-image-cropper:2.5.0') {
exclude group: 'com.android.support'
}
annotationProcessor 'com.github.dmytrodanylyk.realm-browser:library:0.0.3'
implementation 'com.github.dmytrodanylyk.realm-browser:library:0.0.3'
implementation 'com.paypal.sdk:paypal-android-sdk:2.15.3'
implementation 'com.android.support:appcompat-v7:25.3.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
implementation 'com.android.support:design:26.1.0'
implementation 'com.nineoldandroids:library:2.4.0'
implementation 'com.github.blennerSilva:AwesomeDialog:2.0.1'
implementation 'com.google.code.gson:gson:2.8.0'
implementation 'com.github.d-max:spots-dialog:0.7@aar'
implementation 'com.github.silvestrpredko:dot-progress-bar:1.1'
implementation 'org.sufficientlysecure:openpgp-api:10.0'
implementation 'com.soundcloud.android:android-crop:1.0.1@aar'
implementation 'com.android.support:support-v13:26.1.0'
implementation 'com.android.support:support-emoji:26.1.0'
implementation 'org.bouncycastle:bcprov-jdk15on:1.52'
implementation 'org.bouncycastle:bcmail-jdk15on:1.52'
implementation 'org.jitsi:org.otr4j:0.22'
implementation 'org.gnu.inet:libidn:1.15'
implementation 'com.google.zxing:core:3.2.1'
implementation 'org.greenrobot:eventbus:3.0.0'
implementation 'de.greenrobot:eventbus:2.4.0'
implementation 'com.google.zxing:android-integration:3.2.1'
implementation 'de.measite.minidns:minidns-hla:0.2.4'
implementation 'de.timroes.android:EnhancedListView:0.3.4'
implementation 'me.leolin:ShortcutBadger:1.1.19@aar'
implementation 'com.android.support:recyclerview-v7:25.1.0'
implementation 'com.kyleduo.switchbutton:library:1.2.8'
implementation 'org.whispersystems:signal-protocol-java:2.6.2'
implementation 'com.makeramen:roundedimageview:2.3.0'
implementation 'net.ypresto.androidtranscoder:android-transcoder:0.2.0'
implementation 'com.android.support:support-v4:25.1.0'
implementation 'com.android.support:multidex:1.0.1'
implementation 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1'
implementation 'com.github.ozodrukh:CircularReveal:1.1.0'
implementation 'com.github.clans:fab:1.6.2'
implementation 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1'
implementation 'com.github.bumptech.glide:glide:3.7.0'
implementation 'net.bohush.geometricprogressview:geometricprogressview:1.1.1'
implementation 'com.pkmmte.view:circularimageview:1.1'
implementation 'de.greenrobot:eventbus:2.4.0'
implementation 'com.jakewharton:butterknife:8.6.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.6.0'
implementation 'com.jakewharton:butterknife-compiler:8.6.0'
implementation 'com.squareup.retrofit2:retrofit:2.1.0'
implementation 'com.squareup.retrofit2:converter-gson:2.1.0'
implementation 'com.android.support:cardview-v7:26.1.0'
implementation 'de.hdodenhof:circleimageview:2.2.0'
implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.30'
implementation 'com.squareup.picasso:picasso:2.5.2'
implementation 'com.chaos.view:pinview:1.2.0'
implementation 'com.github.ybq:Android-SpinKit:1.1.0'
implementation 'com.braintreepayments.api:drop-in:3.1.0'
implementation 'q.rorbin:badgeview:1.1.3'
testCompile 'junit:junit:4.12'
freeCompile 'com.android.support:support-emoji-bundled:26.1.0'
implementation 'com.google.android.gms:play-services-gcm:16.0.0'
implementation 'com.github.hani-momanii:SuperNova-Emoji:1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation "com.twilio:video-android:2.1.1"
implementation "com.koushikdutta.ion:ion:2.1.7"
implementation "com.android.support:appcompat-v7:26.1.0"
implementation "com.android.support:preference-v14:26.1.0"
implementation "com.android.support:design:26.1.0"
implementation 'com.android.volley:volley:1.0.0'
implementation 'com.github.clans:fab:1.6.4'
implementation 'com.google.firebase:firebase-auth:16.1.0'
implementation 'com.google.android.gms:play-services-auth:16.0.1'
implementation 'com.google.firebase:firebase-messaging:17.3.3'
implementation 'com.google.firebase:firebase-core:16.0.4'
implementation 'com.ebanx:swipe-button:0.4.0'
implementation 'com.facebook.android:facebook-android-sdk:4.5.0'
implementation 'com.android.support:exifinterface:26.1.0'
implementation 'com.mikhaellopez:circularimageview:3.0.2'
}
apply plugin: 'com.google.gms.google-services'
Файл манифеста
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="xxx.com.xxxxx.mobileapp">
<uses-sdk tools:overrideLibrary="net.ypresto.androidtranscoder, android.support.v4" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission
android:name="android.permission.WRITE_SETTINGS"
tools:ignore="ProtectedPermissions" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.NFC" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission
android:name="android.permission.READ_LOGS"
tools:ignore="ProtectedPermissions" />
<uses-permission android:name="android.permission.USE_SIP" />
<uses-permission android:name="xxx.com.xxxxx.mobileapp.android.permission.CONFIGURE_SIP" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission android:name="android.permission.READ_PROFILE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_SYNC_STATS" />
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<permission
android:name="android.permission.USE_SIP"
android:description="@string/permdesc_useSip"
android:label="@string/permlab_useSip"
android:protectionLevel="dangerous" />
<permission
android:name="xxx.com.xxxxx.mobileapp.android.permission.CONFIGURE_SIP"
android:description="@string/permdesc_configureSip"
android:label="@string/permlab_configureSip"
android:protectionLevel="dangerous" />
<uses-feature
android:name="android.hardware.wifi"
android:required="false" />
<uses-feature
android:name="android.hardware.telephony"
android:required="false" />
<uses-feature
android:name="android.hardware.microphone"
android:required="true" />
<uses-feature
android:name="android.hardware.touchscreen"
android:required="false" />
<uses-feature
android:name="android.hardware.bluetooth"
android:required="false" />
<uses-feature
android:name="android.hardware.screen.portrait"
android:required="false" />
<uses-feature
android:name="android.hardware.camera"
android:required="false" />
<uses-feature
android:name="android.hardware.camera.autofocus"
android:required="false" />
<uses-feature
android:name="android.hardware.camera.flash"
android:required="false" />
<uses-feature
android:name="android.hardware.camera.front"
android:required="false" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<application
android:name=".CrashApplicationClass"
android:allowBackup="true"
android:backupAgent=".backup.SipBackupAgent"
android:configChanges="locale"
android:hardwareAccelerated="false"
android:icon="@mipmap/ic_launcher"
android:isolatedProcess="true"
android:label="@string/app_name"
android:largeHeap="true"
android:resizeableActivity="false"
android:screenOrientation="portrait"
android:supportsRtl="false"
android:value="false"
tools:ignore="AllowBackup"
tools:replace="android:label, android:supportsRtl">
<meta-data
android:name="app_type"
android:value="nightly" />
<meta-data
android:name="app_channel"
android:value="trunk" />
<meta-data
android:name="com.sec.android.support.multiwindow"
android:value="true" />
<receiver
android:name="com.google.android.gms.gcm.GcmReceiver"
android:exported="true"
android:permission="com.google.android.c2dm.permission.SEND">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
</intent-filter>
</receiver>
<receiver
android:name=".service.receiver.RestartSipServiceBroadcast"
android:enabled="true"
android:exported="true"
android:process=":sipStack">
<intent-filter>
<action android:name="xxx.com.xxxxx.mobileapp.service.RestartService" />
</intent-filter>
</receiver>
<service android:name=".ui.view.java.contactsyncadapter.common.accounts.GenericAccountService">
<intent-filter>
<action android:name="android.accounts.AccountAuthenticator" />
</intent-filter>
<meta-data
android:name="android.accounts.AccountAuthenticator"
android:resource="@xml/contact_sync_authenticator" />
</service>
<receiver
android:name=".service.DeviceStateReceiver"
android:permission="xxx.com.xxxxx.mobileapp.android.permission.CONFIGURE_SIP"
android:process=":sipStack">
<intent-filter>
<action android:name="xxx.com.xxxxx.mobileapp.accounts.activate" />
</intent-filter>
</receiver>
<receiver
android:name=".service.OutgoingCall"
android:process=":sipStack">
<intent-filter android:priority="0">
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
</intent-filter>
</receiver>
<activity-alias
android:name=".ui.PrivilegedOutgoingSipCallBroadcaster"
android:configChanges="orientation|locale"
android:excludeFromRecents="true"
android:launchMode="singleTask"
android:permission="android.permission.CALL_PRIVILEGED"
android:targetActivity=".ui.outgoingcall.OutgoingCallChooser">
<intent-filter>
<action android:name="android.intent.action.CALL_PRIVILEGED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="sip" />
</intent-filter>
</activity-alias>
<activity-alias
android:name=".ui.PrivilegedOutgoingCallBroadcaster"
android:configChanges="orientation|locale"
android:enabled="false"
android:excludeFromRecents="true"
android:label="@string/sip_call"
android:launchMode="singleTask"
android:permission="android.permission.CALL_PRIVILEGED"
android:targetActivity=".ui.outgoingcall.OutgoingCallChooser"
android:theme="@style/CustomTheme">
<intent-filter>
<action android:name="android.intent.action.CALL_PRIVILEGED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="tel" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.CALL_PRIVILEGED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.item/phone" />
<data android:mimeType="vnd.android.cursor.item/phone_v2" />
<data android:mimeType="vnd.android.cursor.item/person" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SENDTO" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="sms" />
<data android:scheme="smsto" />
</intent-filter>
</activity-alias>
<receiver
android:name=".plugins.telephony.CallHandler"
android:process=":sipStack">
<intent-filter>
<action android:name="xxx.com.xxxxx.mobileapp.phone.action.HANDLE_CALL" />
</intent-filter>
</receiver>
<receiver
android:name=".service.receiver.DynamicCallState"
android:permission="android.permission.USE_SIP"
android:process=":sipStack">
<intent-filter>
<action android:name="xxx.com.xxxxx.mobileapp.service.CALL_CHANGED" />
</intent-filter>
</receiver>
<provider
android:name=".service.PreferenceProvider"
android:authorities="xxx.com.xxxxx.mobileapp.prefs"
android:exported="true"
android:permission="xxx.com.xxxxx.mobileapp.android.permission.CONFIGURE_SIP" />
<provider
android:name=".db.DBProvider"
android:authorities="xxx.com.xxxxx.mobileapp.db"
android:exported="true"
android:permission="xxx.com.xxxxx.mobileapp.android.permission.CONFIGURE_SIP"
android:process=":sipStack" />
<provider
android:name=".db.HistoryStatusProvider"
android:authorities="xxx.com.xxxxx.mobileapp"
android:process=":sipStack" />
<provider
android:name=".ui.view.java.contactsyncadapter.provider.FeedProvider"
android:authorities="xxx.com.xxxxx.mobileapp.contactsyncadapter"
android:exported="false" />
<receiver android:name=".plugins.codecs.ReceiverOpus">
<meta-data
android:name="lib_name"
android:value="libpj_opus_codec.so" />
<meta-data
android:name="init_factory"
android:value="pjmedia_codec_opus_init" />
<intent-filter>
<action android:name="xxx.com.xxxxx.mobileapp.codecs.action.REGISTER_CODEC" />
</intent-filter>
</receiver>
<receiver
android:name=".plugins.codecs.ReceiverG729"
android:exported="false">
<meta-data
android:name="lib_name"
android:value="libpj_g729_codec.so" />
<meta-data
android:name="init_factory"
android:value="pjmedia_codec_g729_init" />
<intent-filter>
<action android:name="xxx.com.xxxxx.mobileapp.codecs.action.REGISTER_CODEC" />
</intent-filter>
</receiver>
<activity
android:name=".MainActivity"
android:configChanges="locale"
android:exported="true"
android:label="@string/app_name"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar"
android:windowSoftInputMode="stateHidden|adjustPan">
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.MULTIWINDOW_LAUNCHER" />
</intent-filter>
<intent-filter android:priority="10">
<action android:name="xxx.com.xxxxx.mobileapp.phone.action.DIALER" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter android:priority="10">
<action android:name="android.intent.action.DIAL" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="sip" />
<data android:scheme="csip" />
</intent-filter>
<intent-filter android:priority="10">
<action android:name="xxx.com.xxxxx.mobileapp.phone.action.CALLLOG" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter android:priority="10">
<action android:name="xxx.com.xxxxx.mobileapp.phone.action.FAVORITES" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter android:priority="10">
<action android:name="xxx.com.xxxxx.mobileapp.phone.action.MESSAGES" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<service android:name=".ui.view.chat.eu.siacs.conversations.services.XmppConnectionService" />
<receiver android:name=".ui.view.chat.eu.siacs.conversations.services.EventReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<action android:name="android.intent.action.ACTION_SHUTDOWN" />
<action android:name="android.media.RINGER_MODE_CHANGED" />
</intent-filter>
</receiver>
<meta-data
android:name="android.service.chooser.chooser_target_service"
android:value=".services.ContactChooserTargetService" />
</activity>
<service android:name=".ui.view.chat.eu.siacs.conversations.services.ExportLogsService" />
<service
android:name=".ui.view.chat.eu.siacs.conversations.services.ContactChooserTargetService"
android:permission="android.permission.BIND_CHOOSER_TARGET_SERVICE">
<intent-filter>
<action android:name="android.service.chooser.ChooserTargetService" />
</intent-filter>
</service>
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id" />
<meta-data
android:name="com.quickblox.messages.TYPE"
android:value="GCM" />
<meta-data
android:name="com.quickblox.messages.SENDER_ID"
android:value="@string/sender_id" />
<meta-data
android:name="com.quickblox.messages.QB_ENVIRONMENT"
android:value="DEVELOPMENT" />
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<service android:name=".Updated.VideoCall.activity.MyFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<service android:name=".Updated.VideoCall.activity.MyFirebaseInstanceIDService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
<provider
android:name=".ui.view.chat.eu.siacs.conversations.services.BarcodeProvider"
android:authorities="${applicationId}.barcodes"
android:exported="false"
android:grantUriPermissions="true" />
</application>
</manifest>
Помощь будет оценена,