Integra el tejido con Libgdx

Estoy tratando de integrar el SDK de tela con mi aplicación libgdx para Android.

El complemento de Android Studio proporcionado por fabric.io no funciona con mis archivos de compilación de Gradle (generados por la herramienta Libgdx). El complemento simplemente no los toca.

Así que traté de editarlos manualmente. Este es mi archivo build.gradle :

 buildscript { repositories { mavenCentral() maven { url 'https://maven.fabric.io/public' } } dependencies { classpath 'com.android.tools.build:gradle:1.1.+' classpath 'io.fabric.tools:gradle:1.+' } } allprojects { apply plugin: "eclipse" apply plugin: "idea" version = '1.0' ext { appName = 'App' gdxVersion = '1.5.4' roboVMVersion = '1.0.0-beta-04' box2DLightsVersion = '1.3' ashleyVersion = '1.3.1' aiVersion = '1.5.0' } repositories { mavenCentral() maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } maven { url "https://oss.sonatype.org/content/repositories/releases/" } } } project(":desktop") { apply plugin: "java" dependencies { compile project(":core") compile "com.badlogicgames.gdx:gdx-backend-lwjgl:$gdxVersion" compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop" compile "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-desktop" } } project(":android") { apply plugin: "android" apply plugin: 'io.fabric' configurations { natives } dependencies { compile project(":core") compile "com.badlogicgames.gdx:gdx-backend-android:$gdxVersion" natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi" natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi-v7a" natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86" compile "com.badlogicgames.gdx:gdx-freetype:$gdxVersion" natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-armeabi" natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-armeabi-v7a" natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-x86" } repositories { mavenCentral() maven { url 'https://maven.fabric.io/public' } } } project(":core") { apply plugin: "java" dependencies { compile "com.badlogicgames.gdx:gdx:$gdxVersion" compile "com.badlogicgames.gdx:gdx-freetype:$gdxVersion" } } tasks.eclipse.doLast { delete ".project" } 

No he tocado el archivo android/build.gradle .

 android { buildToolsVersion "22.0.1" compileSdkVersion 22 sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } instrumentTest.setRoot('tests') } } // needed to add JNI shared libraries to APK when compiling on CLI tasks.withType(com.android.build.gradle.tasks.PackageApplication) { pkgTask -> pkgTask.jniFolders = new HashSet<File>() pkgTask.jniFolders.add(new File(projectDir, 'libs')) } // called every time gradle gets executed, takes the native dependencies of // the natives configuration, and extracts them to the proper libs/ folders // so they get packed with the APK. task copyAndroidNatives() { file("libs/armeabi/").mkdirs(); file("libs/armeabi-v7a/").mkdirs(); file("libs/x86/").mkdirs(); configurations.natives.files.each { jar -> def outputDir = null if (jar.name.endsWith("natives-armeabi-v7a.jar")) outputDir = file("libs/armeabi-v7a") if (jar.name.endsWith("natives-armeabi.jar")) outputDir = file("libs/armeabi") if (jar.name.endsWith("natives-x86.jar")) outputDir = file("libs/x86") if (outputDir != null) { copy { from zipTree(jar) into outputDir include "*.so" } } } } task run(type: Exec) { def path def localProperties = project.file("../local.properties") if (localProperties.exists()) { Properties properties = new Properties() localProperties.withInputStream { instr -> properties.load(instr) } def sdkDir = properties.getProperty('sdk.dir') if (sdkDir) { path = sdkDir } else { path = "$System.env.ANDROID_HOME" } } else { path = "$System.env.ANDROID_HOME" } def adb = path + "/platform-tools/adb" commandLine "$adb", 'shell', 'am', 'start', '-n', 'net.snuzzle.android/net.snuzzle.android.AndroidLauncher' } // sets up the Android Eclipse project, using the old Ant based build. eclipse { // need to specify Java source sets explicitely, SpringSource Gradle Eclipse plugin // ignores any nodes added in classpath.file.withXml sourceSets { main { java.srcDirs "src", 'gen' } } jdt { sourceCompatibility = 1.6 targetCompatibility = 1.6 } classpath { plusConfigurations += [project.configurations.compile] containers 'com.android.ide.eclipse.adt.ANDROID_FRAMEWORK', 'com.android.ide.eclipse.adt.LIBRARIES' } project { name = appName + "-android" natures 'com.android.ide.eclipse.adt.AndroidNature' buildCommands.clear(); buildCommand "com.android.ide.eclipse.adt.ResourceManagerBuilder" buildCommand "com.android.ide.eclipse.adt.PreCompilerBuilder" buildCommand "org.eclipse.jdt.core.javabuilder" buildCommand "com.android.ide.eclipse.adt.ApkBuilder" } } // sets up the Android Idea project, using the old Ant based build. idea { module { sourceDirs += file("src"); scopes = [COMPILE: [plus: [project.configurations.compile]]] iml { withXml { def node = it.asNode() def builder = NodeBuilder.newInstance(); builder.current = node; builder.component(name: "FacetManager") { facet(type: "android", name: "Android") { configuration { option(name: "UPDATE_PROPERTY_FILES", value: "true") } } } } } } } dependencies { compile 'com.android.support:support-v4:22.1.1' compile 'com.android.support:appcompat-v7:22.1.1' compile 'com.melnykov:floatingactionbutton:1.2.0' } 

El SDK no está en el classpath.

Estoy usando esta manera para agregar Fabric (Crashlytics) a mis proyectos de LibGDX.

Este es mi build.gradle .

 buildscript { repositories { mavenCentral() maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } maven { url 'https://maven.fabric.io/public' } } dependencies { classpath 'com.android.tools.build:gradle:1.2.3' ///... classpath 'io.fabric.tools:gradle:1.+' } } ///... project(":android") { apply plugin: 'com.android.application' apply plugin: 'io.fabric' repositories { jcenter() maven { url 'https://maven.fabric.io/public' } } ///.... dependencies { //... compile('com.crashlytics.sdk.android:crashlytics:2.2.2@aar') { transitive = true; } //... 

Creo que la única diferencia con su gradle config es añadir dependencia de crashlytics.

Ahora agrega el permiso de android.permission.INTERNET en tu manifiesto, también en el método AndroidLauncher de AndroidLauncher agrega esta línea

 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Fabric.with(this, new Crashlytics()); ///... 

No te olvides de crear el archivo fabric.properties en tu módulo android y añadirle estas líneas:

 apiSecret= YOUR_API_SECRET_FROM_PANEL apiKey=YOUR_API_KEY_FROM_PANEL 

Ahora haga clic en tela (Plugin de tejido para el estudio de android) e inicie sesión y luego haga clic en instalar crashlytics (u otros servicios), después de algunos botones siguientes verá un diálogo que le dice que ejecute su aplicación para activar tejido.

Ahora verá su juego en panel de tela.

  • Mantenga la pantalla encendida durante el juego de Android sin la interacción del usuario
  • Desplazamiento pequeño al calcular la rotación en función del punto de contacto
  • LIBGDX: agregue un enlace de texto que se puede hacer clic
  • ¿Cómo implementar diferentes eventos mediante un solo toque y doble toque en libgdx?
  • Android & libgdx - deshabilitar la representación borrosa
  • Mover la cámara alrededor de la esfera
  • Ahorre batería al no dibujar en cada llamada de procesamiento
  • TexturePacker de LibGDX con gradle
  • LibGdx Object Pool para muchos objetos de la misma clase padre
  • For-loop en código de sombreado que trabaja con un número codificado pero no con una variable uniforme
  • ¿Cómo mostrar el texto con un fondo de dos colores?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.