ОБНОВЛЕНИЕ:. Тем, кто спрашивает, какие коды ошибок получат пользователи: нет кодов ошибок. Он просто открывает пустую страницу после установки, в которой говорится: "Приложение не установлено" с большим "X" рядом с ним. Возможно, разные версии Android могут иметь разные сообщения. Нет никаких указаний на то, что пошло не так во время установки.
ОБНОВЛЕНИЕ 2:. Некоторые пользователи сообщили, что они получают код ошибки "-504", когда они пытаются установить/обновить из Play Маркета, а сообщение "приложение не установлено" при попытке вручную установить .apk. Я не знаю, какая корреляция имеет эта ошибка с тем, что пользователи не могут установить, но решения только из двух вопросов на SO по этой теме ничего не исправить для меня. Я включил обновленные манифесты и файлы сборки.
ОБНОВЛЕНИЕ 3:. Похоже, пользователи сообщают об этой проблеме в версиях после успешной установки IAB, что еще более де-легитимизирует концепцию, что эта проблема вызвана введением IAB.
ОБНОВЛЕНИЕ 4: Похоже, проблема связана с тем, что старые пользователи пытаются обновить до новой версии, а не с новыми пользователями. Имея это в виду, существует высокая вероятность того, что эта проблема является результатом INSTALL_FAILED_UID_CHANGED. Просматривая историю версий, значительное изменение, внесенное мной в проблемную версию, которую пользователи не могут обновить, - это удаление чертежей, которые я больше не хотел использовать.
Попросить пользователей пройти процедуру исправления, это не правдоподобно. Если есть решение, которое я могу обеспечить, чтобы исправить его для ошибочных пользователей, замечательно... если нет, то наименьшее, что я могу сделать в этот момент, - это контроль над повреждениями и гарантировать, что этого не произойдет в будущем.
ПРИМЕЧАНИЕ. Ниже приведено оригинальное сообщение о том, что проблема связана с введением IAB в приложение. С тех пор это становится все более и более маловероятным, чтобы быть причиной. Несмотря на это, сообщение все еще имеет соответствующую информацию.
------------------------------------------------------------------------------------------
Оригинальное название: Пользователи Android-приложения Получают "Приложение не установлено" после представления IAB
Недавно я представил IAB в своем приложении, опубликованном в Google Play. Через некоторое время я начал получать отчеты от некоторых пользователей о том, что при попытке установить или обновить их при попытке установить "неудачную установку". Что заставляет меня думать, что это вызвано внедрением IAB, так это то, что один долговременный пользователь отправил мне по электронной почте сообщение о том, что, когда он пытается обновить версию с помощью IAB, установщик упоминает, что были введены новые разрешения и требует разрешения пользователя. После того, как он предоставлен, он говорит, что приложение не удалось установить.
Я сделал некоторый Googling, и это, кажется, проблема с их конца, один пользователь даже попытался вручную установить .apk с указанными разрешениями, удаленными без каких-либо успехов. Я не хочу, чтобы это не то, что я сделал неправильно, но неизбежность, которую я должен принять с некоторыми пользователями.
Обратите внимание, что подавляющее большинство не имеет проблем с установкой приложения, и я не получал никаких сообщений об этом до тех пор, пока не была введена IAB. Меня это не беспокоило бы, если бы это было небольшое количество потерянных пользователей, но проблема в том, что эти пользователи вредят моему рейтингу приложения. Пользователи также отметили, что они могут устанавливать приложения, за исключением моих собственных, отлично.
Я не исключаю, что пользователи могли получать эти ошибки даже до ввода IAB, и связь может быть ошибочной.
Вот мой манифест:
<?xml version="1.0" encoding="utf-8"?>
<manifest package = "com.jjsoftware.fullscientificcalculator"
xmlns:android = "http://schemas.android.com/apk/res/android">
<uses-permission android:name = "android.permission.VIBRATE"/>
<uses-permission android:name = "com.android.vending.BILLING"/>
<application
android:allowBackup = "true"
android:fullBackupContent = "true"
android:icon = "@drawable/logo"
android:label = "@string/app_name">
<activity
android:name = ".MainActivity"
android:hardwareAccelerated = "false"
android:label = "@string/app_name"
android:screenOrientation = "portrait"
android:theme="@style/AppTheme">
<intent-filter>
<action android:name = "android.intent.action.MAIN"/>
<category android:name = "android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity
android:name = ".SettingsActivity"
android:theme = "@style/PreferencesTheme">
<intent-filter>
<action android:name = ".SettingsActivity"/>
<category android:name = "android.intent.category.PREFERENCE"/>
</intent-filter>
</activity>
</application>
Вот файл Gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "com.jjsoftware.fullscientificcalculator"
minSdkVersion 14
targetSdkVersion 23
versionCode 102
versionName "1.679"
}
sourceSets { main { assets.srcDirs = ['src/main/assets', 'src/main/assets/'] } }
}
dependencies {
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.google.android.gms:play-services-ads:8.4.0'
compile 'com.android.support:gridlayout-v7:23.2.1'
compile files('libs/exp4j-0.4.5.jar')
compile files('libs/EJML-core-0.28.jar')
compile files('libs/EJML-dense64-0.28.jar')
compile files('libs/Jama-1.0.3.jar')
compile files('libs/EJML-simple-0.28.jar')
}
И, если нужно, сборка верхнего уровня:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}