Android gradle-实验性 0.2.0 添加 res 和 aidl
Android gradle-experimental 0.2.0 add res and aidl
我很难在 Android Studio 1.3、Gradle 2.5 和 gradle-experimental 插件 0.2.0 中使用外部库,因为 NDK 需要。
我找到了一些 material here 关于如何更改我已经完成的旧 gradle 文件,但找不到任何其他文档文档。
在我广泛的搜索过程中,我设法找到了清单的更改,但没有找到 res
和 aid
。有没有人设法找出需要更改的内容或任何有用的文档?
apply plugin: 'com.android.model.library'
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle-experimental:0.2.0'
}
}
model {
android {
compileSdkVersion = 19
buildToolsVersion = "19.1.0"
defaultConfig.with {
applicationId = "org.opencv.android"
minSdkVersion.apiLevel = 8
targetSdkVersion.apiLevel = 19
versionCode = 3000
versionName = "3.0.0"
}
}
android.sources {
main {
manifest.source.include 'AndroidManifest.xml' // OLD manifest.srcFile 'AndroidManifest.xml'
java.source.srcDir 'src'
resources.source.srcDirs 'src'
res.srcDirs = ['res'] // ERROR
aidl.srcDirs ['src'] // ERROR
}
}
}
错误是:
Gradle sync failed: Could not find property 'srcDirs' on AndroidLanguageSourceSet 'main:aidl'.
Gradle sync failed: Unable to load class 'com.android.build.gradle.model.AndroidLanguageSourceSet_Decorated'.
使用 println
进行一些调试显示 java
、res
、aidl
属于 AndroidLanguageSourceSet
类型。他们现在都有相同的 source
属性,并且里面有 srcDirs
列表。您应该能够将自定义路径附加到 srcDirs 属性,例如:
android.source {
main {
java.source.srcDirs += 'src'
res.source.srcDirs += 'res'
aidl.source.srcDirs += 'aidl'
}
}
不要忘记在新语法中使用 =
来设置值,并使用 +=
将其附加到列表中(在旧语法中只需一个空格就足够了)。
我很难在 Android Studio 1.3、Gradle 2.5 和 gradle-experimental 插件 0.2.0 中使用外部库,因为 NDK 需要。
我找到了一些 material here 关于如何更改我已经完成的旧 gradle 文件,但找不到任何其他文档文档。
在我广泛的搜索过程中,我设法找到了清单的更改,但没有找到 res
和 aid
。有没有人设法找出需要更改的内容或任何有用的文档?
apply plugin: 'com.android.model.library'
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle-experimental:0.2.0'
}
}
model {
android {
compileSdkVersion = 19
buildToolsVersion = "19.1.0"
defaultConfig.with {
applicationId = "org.opencv.android"
minSdkVersion.apiLevel = 8
targetSdkVersion.apiLevel = 19
versionCode = 3000
versionName = "3.0.0"
}
}
android.sources {
main {
manifest.source.include 'AndroidManifest.xml' // OLD manifest.srcFile 'AndroidManifest.xml'
java.source.srcDir 'src'
resources.source.srcDirs 'src'
res.srcDirs = ['res'] // ERROR
aidl.srcDirs ['src'] // ERROR
}
}
}
错误是:
Gradle sync failed: Could not find property 'srcDirs' on AndroidLanguageSourceSet 'main:aidl'.
Gradle sync failed: Unable to load class 'com.android.build.gradle.model.AndroidLanguageSourceSet_Decorated'.
使用 println
进行一些调试显示 java
、res
、aidl
属于 AndroidLanguageSourceSet
类型。他们现在都有相同的 source
属性,并且里面有 srcDirs
列表。您应该能够将自定义路径附加到 srcDirs 属性,例如:
android.source {
main {
java.source.srcDirs += 'src'
res.source.srcDirs += 'res'
aidl.source.srcDirs += 'aidl'
}
}
不要忘记在新语法中使用 =
来设置值,并使用 +=
将其附加到列表中(在旧语法中只需一个空格就足够了)。