AndroidAnnotations未找到活动

时间:2013-05-26 02:48:47

标签: android android-annotations

您好我添加了AndroidAnnotations并对其进行了配置;它使用下划线_作为后缀生成活动,但是当我尝试在应用程序中午餐时,它会出现此错误

   05-26 04:17:23.524: E/AndroidRuntime(5096): java.lang.RuntimeException: 
   Unable to instantiate activity
   ComponentInfo{android_app.candgo/android_app.candgo.HelloAndroidActivity_}:  
   java.lang.ClassNotFoundException: Didn't find class
   "android_app.candgo.HelloAndroidActivity_"    
   on path: /data/app/android_app.candgo-1.apk

关于它为什么不起作用的任何建议

PD:我是ADT v22 PD:我在manifest

注册了HelloAndroidActivity_

这是我的manifest.xml(抱歉延迟)

    

  <uses-sdk android:minSdkVersion="8"
            android:targetSdkVersion="16" />

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

4 个答案:

答案 0 :(得分:3)

您需要将“.apt_generated”或AA输出的文件夹添加到源目录列表中。在Android Studio中,您可以在“项目设置”中找到它 - &gt;模块 - &gt; module_in_question - &gt;来源

答案 1 :(得分:0)

您需要在manifest.xml中注册活动类(AndroidAnnotations),例如: <activity android:name = "com.your.packageName" android:screenOrientation="portrait" android:configChanges = "orientation"/>
然后你可以使用它。

答案 2 :(得分:0)

检查清单文件中是否有活动条目。检查名称。

如果您将ADT更新为第22版,则可以尝试java.lang.ClassNotFoundException after changing nothing in the project but upgrading eclipse android sdk

检查清单中的包名称

    <manifest package="com.example.mypackaganame" //check the name

在应用程序代码下检查活动条目

    <activity
        android:name="com.example.mypackaganame.MainActivity"
        // this is the main activity
        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.example.mypackaganame.SecondActivity"
        // this is the Second activity
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="com.example.mypackaganame.SecondActivity" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>           

Foe明确的意图

      <activity
        android:name=".SecondActivity"
        // this is the Second activity
        android:label="@string/app_name" >
    </activity>           

答案 3 :(得分:0)

如果您使用 Eclipse ,请按以下步骤操作:

第1步。 转到Java Compiler并确保编译器合规性级别设置为1.6,否则处理器将无法激活

第2步。 转到Java Compiler&gt; Annotation Processing并选择启用注释处理

第3步。 转到Java Compiler&gt; Annotation Processing&gt; Factory Path并添加处理器JAR: androidannotations-X.X.X.jar。

第4步 确认工作区重建