Android Lint抱怨未在AndroidManifest中注册的活动,但确实如此

时间:2012-06-03 06:41:47

标签: android android-manifest android-activity android-lint

当我在项目上运行Android Lint时,我收到以下警告:

  

org.slaytanic.SIMLockedRingNotifier.SIMLockedRingNotifierActivity未在清单中注册

     

问题:确保活动,服务和内容提供商在清单中注册

     

Id:已注册

     

活动,服务和内容提供商应使用和标记在AndroidManifext.xml文件中注册。

     

如果您的活动只是一个旨在被其他“真实”活动子类化的父类,请将其设为抽象类。   http://developer.android.com/guide/topics/manifest/manifest-intro.html

SIMLockedRingNotifierActivity.java

package org.slaytanic.SIMLockedRingNotifier;

public class SIMLockedRingNotifierActivity extends Activity {
    [...]

的AndroidManifest.xml

<application
    android:icon="@drawable/application_icon"
    android:label="@string/app_name" >
    <activity
        android:name=".SIMLockedRingNotifierActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
[...]

我还尝试用完整路径android:name="org.slaytanic.SIMLockedRingNotifier.SIMLockedRingNotifierActivity"替换活动的 android:name 属性,但我得到了相同的警告。该应用程序完美地工作,并将该活动正确添加到启动器。我怎么能摆脱它?我错过了什么吗?

1 个答案:

答案 0 :(得分:2)

我在Eclipse中使用了两个快速应用程序进行了测试,看起来Lint无法确定使用带有大写字符的“非标准”包名称的Activity是否正确添加到{{ 1}}。

问题已记录在他们的bug tracker中。