web-dev-qa-db-ja.com

Android Studio:AndroidAnnotationsを使用

そこで、新しいAndroid Studioを試して、Eclipseプロジェクトをインポートしました(gradleビルドファイルを生成しました)。かなりうまくいきました。

動作していないように見える唯一のライブラリはAndroidAnnotationsです。 [ファイル]> [設定]> [コンパイラ]> [注釈処理]でandroidannotations-2.7.jarファイルを選択しました。

本番ソースディレクトリとして、「gen」を選択しました。ただし、MainActivity_などの生成されたファイルは生成されません。私は何を間違えましたか?

19
Basic Coder

私は同じ問題を抱えており、intelliJでaaを構成するための指示に従いましたが、今はチャームのように機能します。

AAintelliJ設定ページはこの投稿を示します...

http://www.ashokgelal.com/2012/12/setting-up-intellij-idea-12-with-maven-actionbarsherlock-roboelectric-androidannotations/

...上記の投稿では、intelliJでさまざまなライブラリを設定する手順を説明しています。AAの場合は下にスクロールしてください。

Eclipseで行う必要がなかった主なことは、[設定]> [コンパイラ]> [注釈プロセッサ]に移動し、プロセッサパスを次のように設定することでした...

[AA JARSへのパス] /androidannotations-2.7.jar:[AA JARSへのパス] /androidannotations-api-2.7.jar:[AA JARSへのパス] /codemodel-2.4.1.jar

11

これは私のために働くものです:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:0.5.+'
    }
}

apply plugin: 'Android'

configurations {
    apt
}

repositories {
    mavenRepo url: 'https://oss.sonatype.org/content/repositories/snapshots/'
}

ext.androidAnnotationsVersion = '3.0-SNAPSHOT';

dependencies {
    compile 'com.Android.support:support-v4:18.0.+'

    apt "org.androidannotations:androidannotations:$ext.androidAnnotationsVersion"
    compile "org.androidannotations:androidannotations-api:$ext.androidAnnotationsVersion"
}

Android {
    compileSdkVersion 18
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 18
    }
}

Android.applicationVariants.all { variant ->
    ext.aptOutput = file("${project.buildDir}/source/apt_generated/${variant.dirName}")
    ext.aptOutput.mkdirs()

    variant.javaCompile.options.compilerArgs += [
            '-processorpath', configurations.apt.asPath,
            '-AandroidManifestFile=' + variant.processResources.manifestFile,
            '-s', ext.aptOutput
    ]
}

その後、Android Studioで右クリックしてbuild/sources/apt-generated/debug> Mark Directory asを選択し、Source Rootをソースとしてマークする必要があります。

5
César Izurieta

コンパイルに問題がなく、IDEで生成されたクラスを確認した直後に、target/generate-sources/annotationsとしてチェックされているかどうかを確認する必要があります。 )ソースフォルダ

それは、[ファイル]> [プロジェクト構造]> [モジュール]> [ソース]タブで、フォルダを探してSourcesとしてタグ付けします。フォルダーが青色に変わり、[ソースフォルダー]リストに表示されます。

2
Ino

Android Studioを実行中のプロジェクトでAndroidアノテーションを使用しようとすると、不可解なコンパイラの問題が発生する可能性があります。

アノテーション要素に誤って型付けされたデータが見つかりましたpublic abstract int com.googlecode.androidannotations.annotations.EActivity.value()(int型のデータが見つかりました)

問題は、Rクラスが見つからないことです。 Android Studioは、EclipseのようにデフォルトでR.Javaをgenディレクトリに配置しません。解決策は、プロジェクト設定->ファセット->を選択することですAndroidプロジェクトのファセット-> [コンパイラ]タブで、[R.JavaおよびManifest.Javaファイル]を[実行前にプロセスリソースMavenタスクを実行]から[IDEで生成]に変更します。

0
Dan Osipov

Android StudioはIntelliJに基づいているので、AndroidAnnotationのwikiで 構成ガイドライン に従おうとしましたか?

Gradleを使用している場合は、チェックする必要があります このページ これはAndroidAnnotationのプラグインを構成する方法を説明しています:

buildscript {
    repositories {
        mavenCentral()
    }

    def gradleAndroidAnnotationsPluginVersion = '0.3.0'

    dependencies {
        classpath "net.ealden.gradle.plugins:gradle-androidannotations-plugin:$gradleAndroidAnnotationsPluginVersion"
    }
}

apply plugin: 'androidannotations'
apply plugin: 'idea'

androidAnnotationsVersion = '2.2'

この新しいIDEはまだ試していません。すぐに確認します。

0
DayS

Android StudioをAndroidAnnotationsで動作させる方法があるようです

http://code.google.com/p/Android/issues/detail?id=55764

0
robotoaster