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

Я новичок в приложении для Android. Я создал два образца приложений: Oneproject, Twoproject.

<?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. Как я могу установить два приложения (apks) с одной установкой и запуском?

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


person prasad.gai    schedule 12.10.2011    source источник
comment
В интересах ясности, что означает, что когда я запускаю Twoproject, я не могу запустить Twoproject?   -  person Alex    schedule 12.10.2011
comment
сори, распечатай ошибку. плз, проверь с обновлением   -  person prasad.gai    schedule 12.10.2011


Ответы (3)


В eclipse щелкните правой кнопкой мыши OneProject> Свойства> Путь сборки Java> В правом окне нажмите «Проект»> «Добавить»> «TwoProject»> «ОК»> «ОК».

Вот и все!!! Когда вы устанавливаете 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" /> 

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

person Rohit    schedule 12.10.2011

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

<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>

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

person Vineet Shukla    schedule 12.10.2011
comment
эй, я сделал то же самое. Я могу создать два значка запуска, но когда я запускаю значок двух приложений, я получаю класс ClassNotFound Exception.asTwoAppActivity. Как я могу это решить? - person prasad.gai; 12.10.2011
comment
проверьте, правильно ли вы определили действие, доступен ли его путь? - person Vineet Shukla; 12.10.2011

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

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

person David Given    schedule 12.10.2011