问我一个应用里面可不可以有2个application 我说不可以 面试的人说可以 请问怎么弄出两个application 有人知道吗
试试这个,我自己也没做过你说的这个。
1.在<manifest>
里面添加: android:sharedUserId
, 注意这个属性的取值必须包含点(dot),也就是诸如java packae的形式。比如com.aaa.bbb。没有dot的话,将来adb install xxx.apk就会出错:Failure [INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID]
。最晕死的就是这一点在Android文档中没有提到,感谢万能的 google赐予了我答案。所有application都要填写的一样。
2.在<manifest>
里面添加:android:sharedUserLabel="@string/shared_user_label"
,这个label必须是一个 string资源,不能是raw string。所有application都要填写的一样。
3.在<application>
里面添加:android:process="xxx.xxx.xxx"
,这里所有的application都要填写的一样,内容就是process的名 字,一般来说Android中process的名字就是manifest中的package的取值。
4.所有的application用同样的一个key来sign。如果用Eclipse ADT plugin开发,由于所有的application都使用同一个debug key来sign,所以这一步没有什么额外的工作。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.hellowordmaven"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="16" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.hellowordmaven.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<application
android:allowBackup="true"
android:icon="@drawable/chrome"
android:label="activity2"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity2"
android:label="activity2" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
一个process里面可以有多个application,但一个apk里面只能有一个application.