18

これは、2つの異なる.apk(または1つの.apkファイルに含まれる2つのアプリ)を持つAndroidアプリケーションに関する質問です。

私は2つのアプリを持っていますが、それらはまったく異なることをしますが、関連しています。たとえば、1つは標準ユーザーアプリで、もう1つは管理アプリです。ただし、ユーザーはユーザーと管理者の両方になることができます。電話に2つのアプリケーションをインストールする1つの.apkファイルを作成することは可能ですか?そして、私はこれについてどうやって得たのでしょうか?

ありがとう、マット

4

5 に答える 5

13

同じマニフェストファイルに2つのアクティビティ要素を含めることができます。これらの要素には、 action=MAINcategory=LAUNCHERの両方のインテントフィルターがあります。さらに、両方のアクティビティ要素に属性「 android:taskAffinity 」を使用する必要もあります(ここも参照)。

<application android:allowBackup="true"        
             android:icon="@drawable/main_icon"
             android:label="@string/main_name"
             android:theme="@style/AppTheme" >
             
    <activity android:name="com.foobar.MyActivity2"            
              android:taskAffinity="com.foobar.MyActivity2"
              android:icon="@drawable/icon1"
              android:label="@string/name1" >
        <intent-filter>
            <action   android:name="android.intent.action.MAIN"       />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>        
    
    <activity android:name="com.foobar.MyActivity2"
              android:taskAffinity="com.foobar.MyActivity2"
              android:icon="@drawable/icon1"
              android:label="@string/name2" >
        <intent-filter>
            <action   android:name="android.intent.action.MAIN"       />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>             
    
</application>

このマニフェストを含むAPKファイルをデバイスにインストールすると、ホーム画面に2つのアイコンが作成されます。これらのアイコンのタイトルは属性android:labelから取得され、アイコンは属性android:iconから取得されます。[設定]|[アプリ]の下のアプリのリストに、アプリケーションタグの属性によって定義された名前とアイコンが表示されます。アプリのリストでこのエントリに「アンインストール」を選択すると、両方の「アプリ」がデバイスから削除されます。

于 2014-09-27T10:27:07.623 に答える
7

それはあなたの「アプリケーション」の定義に依存します。より公式な定義を使用する場合、2つのアプリケーションをインストールすることはできません<application>manifest.xml

あなたはあなたの中でいくつかの活動を定義することができmanifest.xml、それらは別々のことをすることができるので、そのようにしてあなたは人が1つの「アプリケーション」として説明するかもしれない2つのことを持つことができますAPK

複数のアクティビティを定義し、それらをオプションとして定義することもできますが、それは「アプリケーション」の定義によって異なりますが、この場合は機能すると思います

于 2012-05-21T09:36:18.143 に答える
2

はい、1つのアプリをインストールするだけで複数のアプリをインストールできます。
Manifest.xml内 ここに画像の説明を入力してください

プロジェクト構造:

ここに画像の説明を入力してください

于 2017-03-09T18:07:24.323 に答える
1

2つのAPKをビルドするか、APK拡張ファイルを使用する必要があります。

ところで、これはセキュリティ対策です。

于 2012-05-21T09:27:50.730 に答える
0

いいえ。

2番目のアプリが既にインストールされているかどうかを確認し、答えが「いいえ」の場合は、この投稿を使用して2番目のアプリのインストールをリクエストできます。

于 2012-05-21T09:26:49.857 に答える