как установить два приложения с одной установкой?

#android #installation #apk #single-responsibility-principle

#Android #установка #apk #принцип единой ответственности

Вопрос:

я новичок в приложении для Android.Я создал два примера приложений как Oneproject, Twoproject.когда я запускаю Oneproject, Twoproject автоматически должен быть установлен на том же устройстве, для этого у меня есть фильтр intialize intent в androidmanifestfile.xml следующим образом:

 <?xml version="1.0" encoding="utf-8"?>
  

 <application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".OneAppActivity"
              android:label="@string/app_name">
        <intent-filter>

        </intent-filter>
    </activity>

   <activity android:name="com.twoproject.two.TwoAppActivity"
              android:label="twoapp">
        <intent-filter>
           <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>
  

Я могу установить два приложения на свое устройство, но когда я запускаю Oneproject, я не могу использовать Twoproject. как я могу установить два приложения (apk) с одной установкой и запуском?

любое тело, пожалуйста, помогите мне……

Комментарии:

1. В интересах ясности, что означает «когда я запускаю Twoproject, я не могу использовать Twoproject»?

2. sry print mistak.plz проверьте с обновлением

Ответ №1:

В eclipse щелкните правой кнопкой мыши OneProject> Свойства> Путь сборки java> В правом окне выберите Project> Add> TwoProject> OK> OK

Вот и все!!! При установке OneProject будет установлен TwoProject. Консоль покажет найденную зависимость.

приветствия!!

Удалите это из Oneproject:

       <activity android:name="com.twoproject.two.TwoAppActivity" 
     android:label="twoapp"> 
         <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.LAUNCHER" /> 
       </intent-filter> 
      </activity> 
  

Добавьте эти теги в фильтр намерений OneProject:

      <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.LAUNCHER" /> 
  

Оба приложения будут установлены, я гарантирую!!!

Ответ №2:

добавьте это в свой тег активности:

 <intent-filter>
   <action android:name="android.intent.action.MAIN" />
   <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
  

теперь ваш код манифеста будет выглядеть так:

 <?xml version="1.0" encoding="utf-8"?>

<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".OneAppActivity"
              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="com.twoproject.two.TwoAppActivity"
              android:label="twoapp">
        <intent-filter>
           <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>
  

Теперь он создаст два значка запуска на вашем устройстве.Это то, что вы спрашиваете?

Комментарии:

1. эй, я сделал то же самое. Я могу создать два значка запуска, но когда я запускаю значок twoapp, я получаю исключение ClassNotFound. Класс asTwoAppActivity. Как я могу это решить?

2. пожалуйста, проверьте, правильно ли вы определили действие, доступен ли его путь?

Ответ №3:

Я не верю, что вы можете, поскольку концепция Android «приложения» (как в <application> элементе в файле XML) в значительной степени привязана к одному файлу .apk.

Однако вы можете добиться того же эффекта, просто скопировав все действия из TwoProject в OneProject. Одно приложение может иметь несколько значков запуска, поэтому с точки зрения пользователя оно все равно будет выглядеть как две запускаемые вещи на панели запуска. Кроме того, таким образом вы получаете доступ к общему коду и ресурсам. Достаточно ли этого?