问题描述
- 一个安卓的面试题 很纠结
- 问我一个应用里面可不可以有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.
时间: 2024-10-31 22:22:33