您好我添加了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>
答案 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步 确认工作区重建