Активность не найдена с помощью AndroidAnnotations

Привет, я добавил 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: у меня 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>

person neoshadybeat    schedule 26.05.2013    source источник


Ответы (4)


Вам нужно добавить «.apt_generated» или любую другую папку, в которую выводит AA, в список исходных каталогов. В Android Studio вы можете найти это в разделе «Настройки проекта» -> «Модули» -> «module_in_question» -> «Источники».

person Karim Varela    schedule 29.05.2013
comment
Если это не сработает, есть ли у вас другие предложения? - person Nick; 15.05.2014

Проверьте файл манифеста на наличие записи об активности. Проверьте имя.

Если вы обновили ADT до версии 22, вы можете попробовать это java.lang.ClassNotFoundException после того, как в проекте ничего не изменилось, кроме обновления 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>           

Явные намерения врага

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

вам нужно зарегистрировать класс активности (AndroidAnnotations) в файле manifest.xml, например: <activity android:name = "com.your.packageName" android:screenOrientation="portrait" android:configChanges = "orientation"/>
, тогда вы сможете его использовать.

person develop.lou    schedule 26.05.2013
comment
Я заменил это вместо оригинала, добавив суффикс _ в манифест и все еще не работает - person neoshadybeat; 26.05.2013
comment
возможно, вам нужно опубликовать свой контент manifestxml или скриншоты, я уверен, что в вашем manifest.xml что-то не так - person develop.lou; 27.05.2013

Если вы используете Eclipse, выполните следующие действия:

Шаг 1. Перейдите к Java Compiler и убедитесь, что уровень соответствия компилятора установлен на 1.6, иначе процессор не будет активирован.

Шаг 2. Перейдите к Java Compiler > Annotation Processing и выберите Включить обработку аннотаций.

шаг 3. Перейдите к Java Compiler > Annotation Processing > Factory Path и добавьте JAR-файл процессора: androidannotations-X.X.X.jar.

Шаг 4 Подтвердите перестроение рабочей области

person Sonu Kumar    schedule 06.01.2016