#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. Одно приложение может иметь несколько значков запуска, поэтому с точки зрения пользователя оно все равно будет выглядеть как две запускаемые вещи на панели запуска. Кроме того, таким образом вы получаете доступ к общему коду и ресурсам. Достаточно ли этого?