Google Play: ваше устройство несовместимо с этой версией.Ошибка появляется на всех устройствах, но я могу запустить APK локально на телефонах - PullRequest
0 голосов
/ 22 сентября 2018

Я могу запустить APK на устройствах, используемых для тестирования.Но когда я пытаюсь загрузить его из Google Play Store, используя те же устройства, я получаю сообщение об ошибке.

Кроме того, Google Play Store сообщает, что приложение поддерживается на 0 устройствах.Почему?

Вот мой файл манифеста Android:

    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="mk.mojglas">
    <supports-screens android:smallScreens="true"
        android:normalScreens="true"
        android:largeScreens="true"
        android:xlargeScreens="true" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <activity
            android:configChanges="orientation"
            android:screenOrientation="portrait"
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:windowSoftInputMode="adjustPan"/>
        <activity
            android:name=".FirstScreenActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:screenOrientation="portrait"
            android:label="@string/title_activity_first_screen"
            android:theme="@style/FullscreenTheme"
            android:windowSoftInputMode="adjustPan">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:configChanges="orientation"
            android:screenOrientation="portrait"
            android:name=".LoginActivity"
            android:label="@string/title_activity_login"
            android:windowSoftInputMode="adjustPan"/>
        <activity
            android:configChanges="orientation"
            android:screenOrientation="portrait"
            android:name=".ResetPasswordActivity"
            android:label="@string/title_activity_login"
            android:windowSoftInputMode="adjustPan"/>
        <activity android:name=".FullScreenImageActivity" />
        <service
            android:name=".firebase.MyFirebaseMessagingService">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT"/>
            </intent-filter>
        </service>
        <service
            android:name=".firebase.MyFirebaseInstanceIDService">
            <intent-filter>
                <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
            </intent-filter>
        </service>
    </application>

</manifest>

И файл Gradle:

apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

android {
    compileSdkVersion 27
    buildToolsVersion "26.0.3"
    useLibrary 'org.apache.http.legacy'
    defaultConfig {
        applicationId "mk.mojglas"
        minSdkVersion 23
        versionCode 10
        versionName "1.0.2"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
    }
    buildTypes {
        release {
            minifyEnabled false
//            minifyEnabled true
//            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    packagingOptions {
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/DEPENDENCIES'
    }
}

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('org.apache.httpcomponents:httpmime:4.3.6') {
        exclude module: 'httpclient'
    }


    compile 'com.squareup.picasso:picasso:2.71828'
    compile 'com.android.support:appcompat-v7:27.1.0'
    compile 'com.android.support:design:27.1.0'
    compile 'com.android.support:support-vector-drawable:27.1.0'
    compile 'com.android.support:cardview-v7:27.1.0'
    compile 'com.android.support:recyclerview-v7:27.1.0'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    compile 'com.android.support:support-v4:27.1.0'
    compile 'org.apache.httpcomponents:httpclient-android:4.3.5'
    compile 'org.apache.directory.studio:org.apache.commons.io:2.4'
    compile 'com.amitshekhar.android:android-networking:1.0.1'
    compile 'jp.wasabeef:picasso-transformations:2.2.1'
    compile 'com.github.PhilJay:MPAndroidChart:v2.2.4'
    compile 'com.google.firebase:firebase-messaging:17.0.0'
    compile 'com.crashlytics.sdk.android:crashlytics:2.9.3'
    testCompile 'junit:junit:4.12'
}
repositories {
    maven {
        url 'https://maven.google.com'
        // Alternative URL is 'https://dl.google.com/dl/android/maven2/'
    }
    maven { url "https://jitpack.io" }
}
apply plugin: 'com.google.gms.google-services'

Файл Gradle всего проекта:

buildscript {
    repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
        maven {
            url 'https://maven.fabric.io/public'
        }

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.3'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
        classpath 'com.google.gms:google-services:4.0.0'
        classpath 'io.fabric.tools:gradle:1.25.4'
    }
}

allprojects {
    repositories {
        jcenter()
        maven {
            url 'https://maven.google.com/'
        }

    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

Я использую Android Studio 3.1.4

Ответы [ 3 ]

0 голосов
/ 22 сентября 2018

во-первых .. если вам не нужно ограничивать ваше приложение определенным размером экрана .. затем удалите этот код <supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" />

во-вторых, целевой SDK должен быть как минимум Android 26 API.


позаботьтесь о том, чтобы вашему minSdk было 23, чтобы приложение было совместимо только с Marshmallow и выше :)

0 голосов
/ 24 сентября 2018

Я только что посмотрел ваше приложение онлайн.Проблема в том, как вы строите свой APK.

APK - это, по сути, Zip-файлы.Если вы посмотрите на свой APK с помощью zip-инструмента, то увидите, что у него есть каталог /lib/commons-io-2.4.jar.

Проблема в том, что Google Play предполагает, что любой подкаталог под /lib/ используется для хранения собственного кода ( см. Документацию ).Поскольку у вас есть этот каталог, Google Play предполагает, что у вас есть собственный код для платформы с именем commons-io-2.4.jar.Очевидно, что ни одна из телефонов не имеет этой родной платформы (она не существует), поэтому Google Play предполагает, что ни одно устройство не совместимо.

Если вы помещаете этот jar-файл в APK в этом каталоге, он не используетсятем не мение.Измените свою сборку, чтобы она не помещала этот jar-файл в ваш APK, и он должен работать.

Кстати, совет удалить элемент "supports-screens" из других ответов действительно хорош.Это не вызывает проблемы у вас, но вам это не нужно, и это может вызвать другие проблемы в будущем.Просто возьми это.

0 голосов
/ 22 сентября 2018

Удалить

<supports-screens android:smallScreens="true"
    android:normalScreens="true"
    android:largeScreens="true"
    android:xlargeScreens="true" />

Не многие телефоны имеют разрешение 300 точек на дюйм или ниже.

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