Теперь, когда я решил использовать аннотации Android с Android Studio, я хотел реализовать его через Gradle. После некоторых продуманных исследований я узнал, что существуют более старые и новые способы реализации аннотаций Android через Gradle, в зависимости от того, какие версии андроид-студии, градации или андроид-аннотации имеют. Я пришел к этому полезному учебнику -> http://www.jayway.com/2014/02/21/androidannotations-setup-in-android-studio/ и попытался реализовать это, вначале, с новым «андроид- L 'в качестве целевого SDK, например
TargetSDKversion "android-L" + compileSdkVersion 20 + buildToolsVersion "20.0.0"
Пока я не попробовал
TargetSDKversion 20 + compileSdkVersion 20 + buildToolsVersion "20.0.0"
а также
TargetSDKversion 19 + compileSdkVersion 19 + buildToolsVersion "19.1.0".
Каждый раз, когда я получал 2 предупреждения, мои классы java, похоже, не были предварительно скомпилированы. Даже если кажется, что он предварительно создает каталог build / generated / source / apt. Но без моего предварительно обработанного класса из моего MainActivity -> MainActivity_
Я всегда получаю следующие предупреждения:
Примечание. Исправьте файл журнала в D: \ AndroidProjects \ GradleTest \ app \ build \ сгенерированный \ source \ apt \ androidannotations.log. Примечание. Инициализируйте AndroidAnnotations 3.0.1 с опциями> {androidManifestFile = D: \ AndroidProjects \ GradleTest \ app \ build \ Интермедиаты \ manifestests \ debug \ AndroidManifest.xml, resourcePackageName = at.gradle.defuex.gradletest}
Предупреждение: незаблокированные файлы для типов «[dummy1407928544078]»; Эти типы не будут подвергаться обработке аннотаций
Warning: Следующие параметры не были распознаны каким-либо процессором: '[androidManifestFile, resourcePackageName]'
Мой файл build.gradle выглядит так:
buildscript{ repositories{ mavenCentral() } dependencies{ classpath 'com.neenbedankt.gradle.plugins:android-apt:1.3' } } repositories{ mavenCentral() } apply plugin: 'com.android.application' apply plugin: 'android-apt' android { compileSdkVersion 19 buildToolsVersion "19.1.0" defaultConfig { applicationId "at.gradle.defuex.gradletest" minSdkVersion 10 targetSdkVersion 19 versionCode 1 versionName "1.0" } signingConfigs{ releaseConfig{ storeFile file("gradlekeystore.jks"); storePassword ("*************"); keyAlias "keyAlias"; keyPassword "*************"; } } buildTypes { release { runProguard false debuggable false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.releaseConfig } debug { debuggable true applicationIdSuffix ".debug" } } } apt { arguments { androidManifestFile variant.processResources.manifestFile resourcePackageName "at.gradle.defuex.gradletest" } } dependencies { apt "org.androidannotations:androidannotations:3.0+" compile "org.androidannotations:androidannotations-api:3.0+" compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:19.+' }
Im, используя следующие версии:
- Если решение этой проблемы должно быть решено, скажите, пожалуйста, потому что я запутался сейчас.
- Если вам нужна лучшая структура аннотаций или способ использования замечательных аннотаций, сообщите мне об этом.
- И если это вообще не должно быть распространенным способом использовать аннотации для проектов Android, пожалуйста, сообщите мне об этом.
, Но я бы предпочел решение моей проблемы 🙂
Ура!
Попробуйте запустить чистую сборку gradlew из корня проекта. Затем попробуйте сделать проект (кнопка с зеленой стрелкой с 0 и 1) перед запуском на устройстве. Все должно быть в порядке.