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.
- Girar la imagen en sentido horario usando LibGDX
- Dibujar texto sobre esfera en libgdx
- LibGDX - ¿Cómo Gdx.graphics.getWidth () devuelve el ancho de la superficie de visualización?
- Resultado Libgdx y Google In-App-Purchase
- Evite que el juego LibGDX se detenga completamente cuando se detiene
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.
- Dibujar una línea suave
- Crear agua en Libgdx
- El registro de LibGDX no aparece en logcat
- LibGDX - Cómo integrar AdMob para iOS y Android
- En libgdx en Android, ¿cómo puedo guardar el estado del juego en caso de que se muera la aplicación?
- Cómo compartir la captura de pantalla de la puntuación del juego libgdx en whatsapp y facebook?
- ¿Cómo detectar cuando un actor es tocado en libgdx?
- No se puede usar Android NDK con libGDX
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 (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.
- Aplicación Phonegap para Android sin Phonegap Build
- Importar una clase de proyecto diferente en mi proyecto