随着Android Studio的最后更新,我被迫进入gradle 0.11('com.android.tools.build:grad:0.11。+'),我还将buildToolsVersion更改为“19.1.0”。
另外,使用新的gradle和构建工具我以前的Android Annotations不起作用所以我去了官方的AA网站,我把我的gradle文件推到了这个:
apply plugin: 'android'
apply plugin: 'android-apt'
apt {
arguments {
androidManifestFile variant.processResources.manifestFile
resourcePackageName android.defaultConfig.packageName
}
}
可悲的是,它不会产生任何AA类。
我认为我的问题可能是我使用了两种口味:付费和免费。
这是我的完整gradle文件:
buildscript {
repositories {
mavenCentral()
maven { url 'http://download.crashlytics.com/maven' }
}
dependencies {
// replace with the current version of the Android plugin
classpath 'com.android.tools.build:gradle:0.11.+'
// the latest version of the android-apt plugin
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.+'
// Crashlitics
classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
}
}
repositories {
mavenCentral()
mavenLocal()
maven { url 'http://download.crashlytics.com/maven' }
}
apply plugin: 'android'
apply plugin: 'crashlytics'
apply plugin: 'android-apt'
apt {
arguments {
androidManifestFile variant.processResources.manifestFile
// resourcePackageName android.defaultConfig.applicationId
resourcePackageName android.defaultConfig.packageName
}
}
def AAVersion = '3.0.1'
def ORMLiteVersion = '4.46'
def mainPackage = 'com.xxx'
def paidPackage = mainPackage + '.paid'
def freePackage = mainPackage + '.free'
dependencies {
[...]
// Android annotations
apt "org.androidannotations:androidannotations:$AAVersion"
compile "org.androidannotations:androidannotations-api:$AAVersion"
[...]
}
android {
compileSdkVersion 19
buildToolsVersion "19.1.0"
defaultConfig {
minSdkVersion 9
targetSdkVersion 19
versionCode 4
versionName "1.4.0-scroll-fast"
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_6
targetCompatibility JavaVersion.VERSION_1_6
}
signingConfigs {
release {
storeFile file("../../transport.keystore.jks")
storePassword releaseStorePassword
keyAlias releaseKeyAlias
keyPassword releaseKeyPassword
}
debug {
storeFile file("../../debug.keystore")
}
}
buildTypes {
release {
runProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
buildConfigField "java.lang.String", "DATABASE_NAME", "\"transporter\""
buildConfigField "int", "DATABASE_VERSION", "1"
buildConfigField "java.lang.String", "PAID_PACKAGE_NAME", "\"$paidPackage\""
buildConfigField "java.lang.String", "FREE_PACKAGE_NAME", "\"$freePackage\""
signingConfig signingConfigs.release
}
debug.initWith(buildTypes.release)
debug {
debuggable true
runProguard false
signingConfig signingConfigs.debug
}
}
productFlavors {
free {
applicationId freePackage
[...]
}
paid {
applicationId paidPackage
[...]
}
}
}
@Edit
感谢Alex(添加了android {useOldManifestMerger true})AA开始处理但仍然无效:
22:39:08.449 [Daemon Thread 15] INFO o.a.AndroidAnnotationProcessor:85 - Initialize AndroidAnnotations 3.0.1 with options {androidManifestFile=D:\Programowanie\GitProjects\transport\android-Transport\transport\build\intermediates\manifests\paid\release\AndroidManifest.xml, resourcePackageName=null}
22:39:08.495 [Daemon Thread 15] INFO o.a.AndroidAnnotationProcessor:109 - Start processing for 14 annotations on 46 elements
22:39:08.506 [Daemon Thread 15] DEBUG o.a.h.AndroidManifestFinder:98 - AndroidManifest.xml file found with specified path: D:\Programowanie\GitProjects\transport\android-Transport\transport\build\intermediates\manifests\paid\release\AndroidManifest.xml
22:39:08.510 [Daemon Thread 15] INFO o.a.AndroidAnnotationProcessor:172 - AndroidManifest.xml found: AndroidManifest [applicationPackage=pl.grzeslowski.transport.paid, componentQualifiedNames=[pl.grzeslowski.transport.activities.MainActivity_, pl.grzeslowski.transport.activities.ResultActivity_, pl.grzeslowski.transport.activities.InfoActivity_, pl.grzeslowski.transport.activities.InfoActivity], permissionQualifiedNames=[android.permission.INTERNET, android.permission.ACCESS_NETWORK_STATE], applicationClassName=pl.grzeslowski.transport.TransporterApplication_, libraryProject=false, debugabble=false, minSdkVersion=9, maxSdkVersion=-1, targetSdkVersion=19]
22:39:08.512 [Daemon Thread 15] ERROR o.a.r.ProjectRClassFinder:46 - The generated null.R class cannot be found
22:39:08.513 [Daemon Thread 15] INFO o.a.r.AndroidRClassFinder:44 - Found Android class: android.R
22:39:08.521 [Daemon Thread 15] INFO o.a.p.TimeStats:81 - Time measurements: [Whole Processing = 26 ms], [Extract Annotations = 9 ms], [Extract Manifest = 5 ms],
22:39:08.522 [Daemon Thread 15] INFO o.a.AndroidAnnotationProcessor:123 - Finish processing