use*_*707 4 android-annotations android-studio
I have setup ActiveAndroid as per the wiki instructions using latest version of AndroidStudio. I am using product Flavours. This is my gradle build file:
apply plugin: 'android'
apply plugin: 'android-apt'
apt {
arguments {
androidManifestFile variant.processResources.manifestFile
resourcePackageName android.defaultConfig.packageName
}
}
android {
compileSdkVersion 19
buildToolsVersion "19.0.3"
defaultConfig {
minSdkVersion 8
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
productFlavors {
a {
packageName "com.a.a"
}
b {
packageName "com.a.b"
}
c {
packageName "com.a.c"
}
}
}
dependencies {
apt "org.androidannotations:androidannotations:3.0+"
compile "org.androidannotations:androidannotations-api:3.0+"
compile 'com.android.support:support-v4:19.0.1'
compile 'com.android.support:appcompat-v7:19.0.1'
compile fileTree(dir: 'libs', include: ['*.jar'])
}
Run Code Online (Sandbox Code Playgroud)
Gradle build files but when I compile/go to debug on the device I receive two errors:
Error:: The generated null.R class cannot be found
and
Error:Execution failed for task ':ml:compileADebugJava'.
Compilation failed; see the compiler error output for details.
I have tried numerous setups for my build file but cannot for the life of me get it work. Also when I try and change my AndroidManifest from:
android:name="com.a.a.MainActivity"
to
android:name="com.a.a.MainActivity_"
it states that class cannot be found.
I am using latest version of Gradle and latest version of ActiveAndroid.
Any help would be much appreciated.
我知道已经晚了,但是可能会帮助别人。
当您修改applicationId时,会发生这种情况。示例中提供的脚本假定您已声明“ android.defaultConfig.applicationId”。在大多数情况下,它为null,因此生成null.R。您可以定义变量或将代码更改为以下内容:
defaultConfig {
// Rest of Config
javaCompileOptions {
annotationProcessorOptions {
arguments = ["resourcePackageName": "<Original Package Name>"]
}
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,原始包名称应与活动中R的位置相同。
希望能帮助到你!
我遇到了这个问题,所以我删除了这一行:
resourcePackageName android.defaultConfig.packageName
Run Code Online (Sandbox Code Playgroud)
它起作用了。
| 归档时间: |
|
| 查看次数: |
4111 次 |
| 最近记录: |