Mieliśmy ten sam błąd dzisiaj, w Rajawali projektu - Oznacza to, że nie wdrożył rodzimy komponentów, ale wykorzystała bibliotekę, która implementuje niektóre natywne komponenty OpenGL. Przypuszczam, że jest to w jakiś sposób powiązane z aktualizacją Android Studio (na tym komputerze, to było 2.2.3
), ale nie mogę jasno powiedzieć w tym momencie. Po prostu "nagle przestał działać."
Musieliśmy jednak przeprowadzić aktualizację do eksperymentalnych narzędzi do budowania Androida: i zastosować poprawkę Mike'a powyżej, aby działała. (Nieco przestarzały) przewodnik migracji można znaleźć here. Dla porównania, musieliśmy dostosować tylko build.gradle
i app/build.gradle
, który teraz wyglądać następująco:
// 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()
}
}
... i
//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]'
}
Gdy skończysz, upewnij się, aby zsynchronizować projektu Gradle w Androidzie Studio. W przeciwnym razie, gdy spróbujesz natychmiast uruchomić, zobaczysz coś takiego jak Task 'generateDebugSources' not found in project ':app'
.
Dziękuję. Spróbuję tego. – phatty
To spowodowało usunięcie błędu "Wykonanie nie powiodło się dla zadania": aplikacja: transformNative_libsWithStripDebugSymbolForDebug', ale teraz otrzymuję komunikat "Android NDK: OSTRZEŻENIE: Nie ma modułów do zbudowania w tym projekcie!", Więc może będę musiał zmienić sposób natywnego kodu w moja aplikacja jest skompilowana z AS i Gradle. Próbuję zbudować aplikację Makeblock na Androida (https://github.com/Makeblock-official/Makeblock-App-For-Android), która zawiera natywny kod C. – HeatfanJohn