2013-05-26 15 views
5

Witam Dodałem AndroidAnnotations i skonfigurowałem go; generuje aktywność z podkreśleniem _ jako przyrostek, ale gdy próbuję lunchu aplikację, daje ten błądNie znaleziono aktywności dla 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 

Wszelkie sugestie o tym, dlaczego to nie działa

pd: Mam ADT V22 PD: ja HelloAndroidActivity_ zarejestrowana w oczywisty

to mój manifest.xml (przepraszam za opóźnienie)

<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> 

Odpowiedz

0

trzeba zarejestrować klasę działalności (AndroidAnnotations) w manifest.xml, jak: <activity android:name = "com.your.packageName" android:screenOrientation="portrait" android:configChanges = "orientation"/>
wtedy można go używać.

+0

I zastąpił że zamiast oryginału, dodając sufiks _ do oczywistego i nadal nie działa – neoshadybeat

+0

może trzeba dodawać treści manifestxml lub Zrzuty ekranów, jestem pewien, że coś jest nie tak w manifeście.xml –

0

Sprawdź plik manifestu pod kątem wpisu aktywności. Sprawdź nazwę.

Jeśli zaktualizowałeś ADT do rev 22. możesz spróbować tego java.lang.ClassNotFoundException after changing nothing in the project but upgrading eclipse android sdk.

Sprawdź nazwę pakietu w oczywisty

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

Sprawdź pod tagiem wniosku o wpis działalności

<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> 

Powiedzmy, że masz drugą aktywny. To, w jaki sposób zadeklarować dla ukrytych zamiarów

 <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 jednoznacznych zamiarów

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

Trzeba dodać ".apt_generated", lub cokolwiek folderu AA do wyjścia, do wpisu katalogów źródłowych. W Android Studio można znaleźć w Ustawieniach projektu -> Moduły -> module_in_question -> Źródła

+0

Jeśli to nie działa, czy masz jakieś inne sugestie? – Nick

0

Jeśli używasz Eclipse wykonaj następujące kroki:

Krok 1. Go do Java Compiler i uczynić upewnić się, że poziom zgodności kompilator jest ustawiony na 1.6, w przeciwnym razie procesor nie będzie aktywowany

Krok 2. Przejdź do Java Compiler>Annotation Processing i wybierz Włącz przetwarzanie Adnotacja

Etap 3. Przejdź do Java Compiler>Annotation Processing>Factory Path i dodać JAR Procesor: androidannotations-X.X.X.jar.

krok 4 Potwierdź roboczy odbudować

Powiązane problemy