4

在 Android 4.2 上,我试图将同一个应用程序安装到 2 个不同的用户帐户上。当我尝试这样做时,在权限页面上单击“安装”后,我得到“未安装应用程序”。以下是我用来获取此消息的步骤:

1)在平板电脑上登录所有者帐户。
2) 下载(使用 Chrome)app.apk 并从“下载”弹出窗口中选择它进行安装。
3) 单击权限页面上的安装
4) 注销
5) 在平板电脑上登录不同的用户帐户
6) 下载(使用 Chrome)app.apk 并从“下载”弹出窗口中选择它进行安装。
7) 在权限页面点击安装

不会显示带有“未安装 X 应用程序”的无用消息的对话框。

如何将此应用程序安装到同一平板电脑上的 2 个不同用户帐户上?

这是应用程序的清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  android:versionCode="121212"
  android:versionName="0.1"
  package="com.company.app">
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.VIBRATE"/>
<application android:icon="@drawable/app_icon" android:label="@string/app_name" android:debuggable="true"  >
    <activity android:name="Activity1"
        android:configChanges="keyboardHidden|orientation"
              android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name="Activity2" android:configChanges="keyboardHidden|orientation" />
    <activity android:name="Activity3"   android:configChanges="keyboardHidden|orientation" />
</application>

4

1 回答 1

3

经过进一步调查,从 logcat 我确定我收到了 INSTALL_FAILED_UID_CHANGED 错误。这是由版本问题引起的。我们有一个流程,我们通过电子邮件将旧版本的应用程序发送给想要安装它的用户。该应用程序所做的第一件事是检查并安装新版本(如果可用)。

所以问题是第一个用户安装了旧版本,然后更新到最新版本。然后当第二个用户尝试安装旧版本时,它被拒绝了,因为它是一个旧版本,然后是 vi 安装的应用程序。

结果在多用户平板电脑上,只能安装一个版本的应用程序。如果我为一个用户更新应用程序,所有其他用户也会更新。

Hope this helps other Android developers.

于 2013-01-15T16:44:34.400 回答