2017-01-28 7 views
0

Android Android 애플리케이션으로 Android 애플리케이션을 개발 중입니다. 이것은 처음에는 완벽하게 작동했지만 점점 더 많은 라이브러리를 의존성으로 사용하기 시작했을 때 App을 설치하고 실행하는 데 문제가있었습니다.Android 특수 효과 앱에 생성 된 액티비티가 포함되지 않음

나는 내 응용 프로그램의 시작시 오류 메시지가

01-28 14:53:00.764: E/AndroidRuntime(5471): java.lang.RuntimeException: 
Unable to instantiate activity ComponentInfo{de.mm.aademo.android/de.mm.aademo.android.activity.MainActivity_}: 
java.lang.ClassNotFoundException: Didn't find class "de.mm.aademo.android.activity.MainActivity_" 
on path: 
DexPathList[[zip file "/data/app/de.mm.aademo.android-14.apk"],nativeLibraryDirectories=[/data/app-lib/de.mm.aademo.android-14, /vendor/lib, /system/lib]] 

을받을 수 있습니다. 그것은 생성 된 클래스가 gradle 빌드 프로세스 중에 제거됩니다 것으로 보이지만 왜 그리고 언제 모르겠다.

이 문제를 재현하기 위해 모든 사람들이이 문제를 재현 할 수 있도록 샘플 GitHub Project를 만들었습니다. 당신은 어쩌면 누군가가 내 구성에 어떤 문제가 있는지 알 수

https://github.com/MichaelMeyersGit/AA_Demo_Project

에서 프로젝트를 찾을 수 있습니다. 감사합니다

답변

0

그래서 Android Annotations 또는 apt 플러그인을 의심하여 ​​많은 시간을 낭비 한 후 진정한 근본 원인을 발견했습니다.

내가 잊어 버린 것은 Android 4.4.2 (API 19) 기기를 실행하고 모든 API 버전 < 21이 Multidex를 사용할 준비가되어 있다는 것입니다. 내 Gradle을 빌드 파일에서

나는 (I가 있었다) Multidex를 활성화 그래서 난 내 자신의 안드로이드 응용 프로그램 클래스

public class Application extends android.app.Application{ 

    @Override 
    protected void attachBaseContext(Context base) { 
     super.attachBaseContext(base); 
     MultiDex.install(this); 
    } 

} 
1

대상 SDK를 25로 변경하고 도구를 25.0.2로 변경하십시오. 문제는 이전 빌드 도구의 버그로 인해 주 dex 목록에서 활동이 누락 된 것입니다.

+0

(25)을 작성했고 25.0.2 나를 위해 작동하지 않습니다하지만 난 SDK를 사용하고 때 23 및 빌드 도구 23.0.2 내 응용 프로그램이 내 장치에서 시작됩니다. 그러나 여전히 뭔가가 빠져 있습니다. 내 MainActivity에서 메서드에 @Background Annotation을 넣었습니다. 이제 Android Annotations에서 BackgroundExecutor 클래스 클래스를 찾을 수 없다는 오류 메시지가 나타납니다. Github Project를 업데이트했습니다. –

+0

이 빌드 도구를 사용하지 마십시오. 빌드 도구 25.0.2로 프로젝트를 빌드하고 실행 했으므로 잘 작동합니다. 프로젝트를 정리하고 새로운 빌드 도구로 다시 실행하십시오. – WonderCsabo