今天我們收到了同樣的錯誤,在一個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'
的東西。
謝謝。我會試試這個。 – phatty
這消除了'任務執行失敗'的錯誤:app:transformNative_libsWithStripDebugSymbolForDebug',但是現在我得到了'Android NDK:警告:在這個項目中沒有模塊可以建立消息,所以我可能需要改變本地代碼我的應用程序是用AS和Gradle編譯的。我試圖爲Android構建Makeblock應用程序(https://github.com/Makeblock-official/Makeblock-App-For-Android),其中包含本機C代碼。 – HeatfanJohn