今天我们收到了同样的错误,在一个Rajawali项目 - 也就是说,我们没有实现本地组件,但使用了一个实现了一些原生OpenGL组件的库。我想这与某个Android Studio更新有关(在该机器上,它是2.2.3),但我现在无法清楚地说明。它只是“突然停止工作”。
但是,我们需要升级到实验性的Android构建工具和,然后运用Mike的修复程序以使其工作。一个(有些过时的)移植指南可以在here找到。作为参考,我们需要调整仅build.gradle和app/build.gradle,现在看起来如下:
// build.gradle
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle-experimental:0.8.3'
// used to be: 'com.android.tools.build:gradle:2.2.2'
}
}
allprojects {
repositories {
mavenLocal()
jcenter()
}
}
...和
//app/build.gradle
apply plugin: 'com.android.model.application'
// used to be 'com.android.application'
// android() migrated according to guide
// note that buildConfigFields() is missing, because it lead to errors
model {
android {
compileSdkVersion 19
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.projecttango.experiments.augmentedrealitysample"
minSdkVersion.apiLevel 19
targetSdkVersion.apiLevel 19
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles.add(file("proguard-rules.pro"))
}
}
productFlavors {
create("flavor1") {
applicationId "com.app"
}
}
sources {
main {
java {
source {
srcDir "src"
}
}
}
}
// Fix suggested by Mike above
ndk {
platformVersion 21
}
}
}
// Remaining Rajawali "noise"
def external_lib_prefix = null
if (project.hasProperty("Tango.catkin_devel_prefix")) {
external_lib_prefix = project.property("Tango.catkin_devel_prefix")
} else {
// Building in standalone sample form.
external_lib_prefix = "../../TangoReleaseLibs"
}
repositories {
flatDir {
dirs external_lib_prefix + '/aar'
}
}
dependencies {
compile fileTree(dir: external_lib_prefix + '/jar', include: ['**/*.jar'])
compile (name: 'tango_support_java_lib', ext: 'aar')
compile 'org.rajawali3d:rajawali:[email protected]'
}
一旦完成,确保了项目的摇篮Android中同步工作室。否则,当您尝试立即运行时,您会看到类似Task 'generateDebugSources' not found in project ':app'的东西。