2017-01-28 18 views
0

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

を受けます。それは、生成されたクラスは、グラデルのビルドプロセス中に削除されているようだが、私は理由と理由を知らない。

この問題を再現するために、誰もがこの問題を再現できるようにサンプルGitHubプロジェクトを作成しました。あなたは多分、誰かが私の設定が間違っているかを見ることができます

https://github.com/MichaelMeyersGit/AA_Demo_Project

でプロジェクトを見つけることができます。ありがとう

答えて

0

Android Annotationsやaptプラグインを疑って時間を無駄にした後、私は本当の根本原因を発見しました。

私はAndroid 4.4.2(API 19)デバイスを実行しており、すべてのAPIバージョン< 21はMultidexを使用する準備ができていることを忘れています。私のGradleのビルドファイルで

は、私は(私が持っていた)Multidexを有効にし、私は自分のAndroid用アプリケーションクラス

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自分のデバイスが自分のデバイスから起動します。しかし、まだ何かが欠落しています。私は@Background AnnotationをMainActivityのメソッドに配置しましたが、Android AnnotationsのクラスBackgroundExecutorクラスが見つからないというエラーメッセージが表示されます。私はGithub Projectを更新しました –

+0

この古いビルドツールを使用しないでください。ビルドツール25.0.2でプロジェクトをビルドして実行しましたが、正常に動作します。プロジェクトをきれいにして、新しいビルドツールを使用して再度実行してみてください。 – WonderCsabo

関連する問題