4

Android 4.2 で、同じアプリを 2 つの異なるユーザー アカウントにインストールしようとしています。これを実行しようとすると、アクセス許可ページで [インストール] をクリックすると、[アプリがインストールされていません] というメッセージが表示されます。このメッセージを取得するために使用した手順は次のとおりです。

1) タブレットで所有者アカウントにログインします。
2) app.apk を (Chrome を使用して) ダウンロードし、[ダウンロード] ポップアップから選択してインストールします。
3) アクセス許可ページで [インストール] をクリックします。
4) ログアウトします。
5) タブレットで別のユーザー アカウントにログインします。
6) app.apk をダウンロードし (Chrome を使用)、[ダウンロード] ポップアップから選択してインストールします。
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エラーが発生していることがわかりました。これはバージョンの問題が原因でした。アプリをインストールしたいユーザーに古いバージョンのアプリをメールで送信するプロセスがあります。アプリが最初に行うことは、新しいバージョンが利用可能かどうかを確認してインストールすることです。

したがって、問題は、最初のユーザーが古いバージョンをインストールしてから、最新バージョンに更新することでした。次に、2番目のユーザーが古いバージョンをインストールしようとすると、viによってインストールされたアプリよりも古いバージョンであるため、拒否されました。

マルチユーザータブレットでは、インストールできるアプリのバージョンは1つだけです。1人のユーザーのアプリを更新すると、他のすべてのユーザーも更新されます。

これが他のAndroid開発者に役立つことを願っています。

于 2013-01-15T16:44:34.400 に答える