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

查看:104
本文介绍了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.我不知道此错误与用户无法安装有什么关联,但是关于该主题的关于SO的仅两个问题的解决方案并没有为我解决任何问题.我已经包括了更新的清单和构建文件.

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引入应用程序的结果.从那以后,成为原因的可能性越来越小.无论如何,该帖子仍然有相关信息.

------------------------------------------------------------------------------------------

原标题:引入IAB后,Android应用程序用户会收到未安装应用程序"

我最近在自己的应用中引入了IAB,该应用已在Google Play上发布.一段时间后,我开始从一些用户那里收到报告,他们尝试安装或更新时收到安装失败"错误. 我之所以认为是因为引入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天全站免登陆