状況: 複数のアプリを1つの.apkアプリに統合する必要があります。私は何をしていますか: 私が働いているメインのapp1プロジェクトにapp2パッケージをコピーしました。私のapp1は2つのパッケージを持っています。Androidの別のパッケージからアクティビティを呼び出すときに問題が発生する
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>
私はAPP2パッケージ内のアクティビティを呼び出すために使用していますAPP1のコード:
Intent i = new Intent();
i.setClassName("com.package.app1", "com.package.app2.Activity1");
startActivity(i);
を
質問: app1マニフェストファイルを変更してappのアクティビティを持たせるにはどうすればよいですか2。 、私はAPP2に簡単なHelloWorldのテストクラスを作成した場合、それが動作 コール同じコードを使用して、ちょうどAPP1のマニフェストにこれを含める:
物事は試してみましたi`ve
<activity android:name="com.package.app2.Test" />
しかし、私は把握することはできませんapp2マニフェストファイルを最初のものに実装する方法。あらゆる方法で私はエラーを出さないようにしようとしますが、そのアクティビティを呼び出すときにクラッシュします。 App2だけで正常に動作するので、アクティビティファイルには問題はありません。
これに感謝しています。暗闇の中で
私はそれをapp2に変更していますが、単純なテストクラスでも動作しません。setComponentを呼び出してapp2を呼び出しても、テストクラスで動作するので何も変更しません。 app2クラス。マニフェストファイルとは関係がありませんか? – Jonas
パッケージマネージャはソリューションのように聞こえますが、この場合のマニフェストファイルはどうですか?どのように私はcom.packageでどのアクティビティを選択するのですか?app2パッケージをyoruの例で開くと、パッケージにプロジェクトにコピーしたときにマニフェストファイルがない場合 – Jonas
app2で単純なHelloWorldクラスを使用して、単に が動作しますが、最初にapp2マニフェストアクティビティを追加する方法はわかりません。コンテンツフィルタを使用してすべてのアクティビティを追加するだけでクラッシュすると、 –
Jonas