带有多个应用程序标签的AndroidManifest.xml

时间:2011-09-20 20:18:19

标签: java android xml android-manifest manifest

我对Android编程非常陌生,而且我一直试图找出为什么我的应用程序在按下按钮时强行关闭。我把它缩小到了几个方面。

一个问题;清单xml中是否可以有多个<application>标记?

这是我的代码:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.dummies.android.beergoggles"
  android:versionCode="1"
  android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />

<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".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>
    <activity android:name="Result" android:label="@string/app_name">        </activity>
</application>
<application android:name="MyApp" 
   android:icon="@drawable/icon" 
   android:label="@string/app_name2"></application>

我一直在研究,但发现只有一篇关于为新应用程序创建新清单文件的模糊文章。 MyApp应用程序只是一个“全局变量”的应用程序,因为我想没有新的应用程序就没有办法做到这一点。

以下是MyApp的代码,以防它有用:

import android.app.Application;

public class MyApp extends Application{

public static int resultCount;

public int getCount(){
    return resultCount;
  }
public void setCount(int c){
    resultCount = c;
}
}

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:18)

根据documentation清单文件,只有一个的应用元素有效。

  

只有&lt; manifest&gt;和&lt; application&gt;元素是必需的,它们各自   必须存在且只能出现一次

答案 1 :(得分:8)

我认为您想要的是使用自定义Application作为主Application

因此,您不要添加新的<application>,只需将其名称指定给主<application>(您需要指定其完整包)。

<application android:icon="@drawable/icon" android:label="@string/app_name" android:name:"com.mypackage.MyApp"> <!-- Added the android:name -->
    <activity android:name=".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>
    <activity android:name="Result" android:label="@string/app_name">        </activity>
</application>

请参阅信息here

答案 2 :(得分:0)

只需要'manifest'和'application'元素,它们必须存在并且只能出现一次。大多数其他人可能会多次出现或者根本不出现 - 尽管至少有一些人必须出现才能使清单完成任何有意义的事情。