Android 应用用户获取“应用未安装"尝试更新时 [英] Android App Users Get "App not installed" When Attempting to Update

查看:27
本文介绍了Android 应用用户获取“应用未安装"尝试更新时的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

更新: 对于那些询问用户收到哪些错误代码的人:没有错误代码.它只是打开一个空白的安装后页面,上面写着应用程序未安装",旁边有一个大X".不同版本的 Android 可能有不同的消息.没有迹象表明安装过程中出了什么问题.

UPDATE: To those who asked about which error codes the users are receiving: there are no error codes. It just opens a blank, post-installation page that says "The app was not installed" with a big 'X' next to it. It's possible different versions of Android could have different messages. There is no indication for what went wrong during the installation.

更新 2: 一些用户报告说他们在尝试从 Play 商店安装/更新时收到错误代码-504",在手动尝试安装时收到应用未安装"消息.apk.我不知道这个错误与用户无法安装有什么关联,但是关于这个主题的仅有 2 个问题的解决方案并没有为我解决任何问题.我已经包含了更新的清单和构建文件.

UPDATE 2: Some users reported that they receive error code "-504" when they try to install/update from the Play Store, and the "app not installed" message when manually trying to install the .apk. I don't know what correlation this error has with users being unable to install, but the solutions from the only 2 questions on SO on this topic did not fix anything for me. I've included the updated manifests and build files.

更新 3: 用户在成功安装 IAB 后的版本中报告了此问题,这进一步使该问题是由引入 IAB 引起的概念不合法.

UPDATE 3: It appears as users report this issue in versions after IAB has been successfully installed, which further de-legitimatizes the concept that this issue is caused by introducing IAB.

更新 4: 问题似乎在于旧用户尝试更新到新版本,而不是新用户.考虑到这一点,此问题很可能是 INSTALL_FAILED_UID_CHANGED.查看版本历史记录,我在用户无法更新的有问题的版本中所做的重大更改是删除了我不再打算使用的可绘制对象.

UPDATE 4: It looks like the problem is with old users trying to update to a new version, and not with new users. With that in mind, there is a high likelihood that this issue is result of INSTALL_FAILED_UID_CHANGED. Looking through the version history, the significant change I made in the problematic version that users cannot update from is removing drawables that I no longer intended of using.

要求用户通过程序来解决这个问题是不合理的.如果有一个我可以强制执行的解决方案可以为有缺陷的用户修复它,那就太好了……如果没有,我目前至少可以做的是控制损坏并确保将来不会发生这种情况.

Asking users to go through the procedure to fix this isn't plausible. If there is a solution that I can enforce which would fix it for faulty users, wonderful... if not, the least I can do at this point is damage control and ensure this doesn't happen in the future.

注意:以下是推测问题是将 IAB 引入应用程序的结果的原始帖子.从那时起,它变得越来越不可能成为原因.无论如何,该帖子仍然包含相关信息.

<代码>------------------------------------------------------------------------------------------

原标题:Android 应用用户在引入 IAB 后得到应用未安装"

我最近在 Google Play 上发布的应用中引入了 IAB.一段时间后,我开始收到一些用户的报告,他们在尝试安装或更新时收到安装失败"错误.让我认为这是由引入 IAB 引起的,是一位特定的长期用户给我发电子邮件说,当他尝试使用 IAB 更新到版本时,安装程​​序提到引入了新权限并需要用户的许可.一旦获得批准,它会说应用程序安装失败.

I recently introduced IAB in my app that was published on Google Play. After a while, I've started to get reports from some users that they get an "installation unsuccessful" error when they try to install or update it. What makes me think it's caused by introducing IAB is that one particular long-time user e-mailed me that when he's attempting to update to the version with IAB, the installer mentions that new permissions were introduced and requires the user's permission. Once granted, it says that the app failed to install.

我已经进行了一些谷歌搜索,从他们的角度来看似乎是一个问题,一位用户甚至尝试手动安装 .apk 并删除了上述权限,但没有成功.我不想确保这不是我做错了什么,而是我必须接受某些用户的不可避免性.

I've done some Googling and it appears to be a problem from their end, one user even tried to manually install an .apk with said permissions removed without any success. I wan't to make sure that it's not something I've done wrong, but an inevitability that I have to accept with some users.

请注意,绝大多数安装该应用程序都没有问题,而且在引入 IAB 之前,我还没有收到任何关于此的报告.如果有少量用户流失,我不会太担心,但问题是,这些用户损害了我的应用程序的评级.用户还提到他们可以很好地安装应用程序,除了我自己的应用程序.

Note that the vast majority has no problem of installing the app, and I haven't received any reports of this until after IAB was introduced. It wouldn't bother me so much were it a small amount of lost users, but the problem is, those users hurt my app's rating. Users have also mentioned that they can install apps, excluding my own, perfectly well.

我不排除用户在引入 IAB 之前就已经收到这些错误的可能性,并且链接可能是错误的.

I don't rule out the possibility that users may have been getting these errors even before IAB was introduced, and the linkage could be a mistaken one.

这是我的清单:

<?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 文件:

Here is the Gradle file:

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')
}

并且,如果需要,顶级构建:

And, if need be, the top-level build:

// 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()
    }
}

推荐答案

android:largeHeap="true">> 行的清单文件中存在拼写错误.xml 行以 >>> 结尾.这可能会导致错误.

There is a typo in the manifest file on line android:largeHeap="true">>. xml line ends with >>. This may be causing the error.

这篇关于Android 应用用户获取“应用未安装"尝试更新时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆