Положение:
Мне нужно объединить несколько приложений в одно приложение .apk. Скажем, внедрить app2 в app1
Что я сделал:
Скопировал пакет app2 в основной проект app1, над которым я работаю, поэтому у моего app1 есть два пакета.
app2 имел этот файл манифеста:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.package.app2" android:versionCode="3" android:versionName="1.2">
<application android:label="App2" android:icon="@drawable/icon">
<activity android:name="Activity1" android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="Activity2" android:excludeFromRecents="true"></activity>
</application>
<uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>
<uses-permission android:name="android.permission.VIBRATE"></uses-permission>
</manifest>
Мой исходный файл манифеста App1:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.package.app1">
<application android:icon="@drawable/icon" android:debuggable="true">
<activity android:name=".Start" 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.package.app1.PlayerList" />
<activity android:name="com.package.app1.CreateNewPlayer" />
<activity android:name="com.package.app1.Profile" />
<activity android:name="com.package.app1.Braintrainer" />
</application>
</manifest>
Код в app1, который я использую для вызова активности в пакете app2:
Intent i = new Intent();
i.setClassName("com.package.app1", "com.package.app2.Activity1");
startActivity(i);
Вопрос:
Как изменить мой файл манифеста app1, чтобы иметь действия app2.
Вещи, которые я пробовал:
Это работает, если я создаю простой тестовый класс HelloWorld в app2, вызываю с использованием того же кода и просто включаю его в манифест app1:
<activity android:name="com.package.app2.Test" />
Но я не могу понять, как внедрить файл манифеста app2 в первый. Каждый раз, когда я пытаюсь дать никаких ошибок, но вылетает при вызове этого действия Одно приложение App2 работает нормально, поэтому проблема не в файле активности.
Ценю любые мысли по этому поводу.