Ошибка переноса проекта Libgdx с Eclipse на Android Studio

Я пытаюсь перенести мою существующую игру (написанную в libgdx) из Eclipse в Android Studio. После нормальной работы моего рабочего стола, но у меня проблема с проектом Android. В android я использую объявления Admob.

Появляется следующее сообщение об ошибке:

Введите описание изображения здесь

Как вы видите, установлен Android Support Repository Менеджер SDK

Моя структура проекта:

Введите описание изображения здесь

В файле Project Gradle у меня есть следующее:

 buildscript { repositories { mavenCentral() } dependencies { classpath 'de.richsource.gradle.plugins:gwt-gradle-plugin:0.6' classpath 'com.android.tools.build:gradle:1.5.0' classpath 'org.robovm:robovm-gradle-plugin:1.9.0' } } allprojects { apply plugin: "eclipse" apply plugin: "idea" version = '1.0' ext { appName = 'My Game' gdxVersion = '1.7.1' roboVMVersion = '1.9.0' box2DLightsVersion = '1.4' ashleyVersion = '1.7.0' aiVersion = '1.6.0' } repositories { jcenter() 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-box2d-platform:$gdxVersion:natives-desktop" } } project(":android") { apply plugin: "android" configurations { natives } dependencies { compile project(":core") compile 'com.android.support:appcompat-v7:23.1.1' compile 'com.google.android.gms:play-services:8.4.0' 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-box2d:$gdxVersion" natives "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-armeabi" natives "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-armeabi-v7a" natives "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-x86" compile fileTree(dir: '../libs', include: '*.jar') } } project(":ios") { apply plugin: "java" apply plugin: "robovm" configurations { natives } dependencies { compile project(":core") compile "org.robovm:robovm-rt:$roboVMVersion" compile "org.robovm:robovm-cocoatouch:$roboVMVersion" compile "com.badlogicgames.gdx:gdx-backend-robovm:$gdxVersion" compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-ios" compile "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-ios" } } project(":html") { apply plugin: "gwt" apply plugin: "war" dependencies { compile project(":core") compile "com.badlogicgames.gdx:gdx-backend-gwt:$gdxVersion" compile "com.badlogicgames.gdx:gdx:$gdxVersion:sources" compile "com.badlogicgames.gdx:gdx-backend-gwt:$gdxVersion:sources" compile "com.badlogicgames.gdx:gdx-box2d:$gdxVersion:sources" compile "com.badlogicgames.gdx:gdx-box2d-gwt:$gdxVersion:sources" } } project(":core") { apply plugin: "java" dependencies { compile "com.badlogicgames.gdx:gdx:$gdxVersion" compile "com.badlogicgames.gdx:gdx-box2d:$gdxVersion" compile fileTree(dir: '../libs', include: '*.jar') } } tasks.eclipse.doLast { delete ".project" } 

Вот файл Android Gradle:

 apply plugin: 'com.android.application' android { buildToolsVersion "23.0.2" compileSdkVersion 23 defaultConfig { targetSdkVersion 23 } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.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 adb = "$System.env.ANDROID_HOME/platform-tools/adb" commandLine "$adb", 'shell', 'am', 'start', '-n', 'com.flexsolutions.bubbles.era.android/com.flexsolutions.bubbles.era.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") } } } } } } } 

Я попытался изменить поддержку android для другой версии, но я получаю такую ​​же ошибку.

Любая помощь будет оценена по достоинству.

благодаря

Я думаю, что ваша проблема с импортом проекта вызвана этим

 buildToolsVersion "19.1.0" compileSdkVersion 19 

Вы пытаетесь использовать старые buildTools, чем ваши библиотеки поддержки Android:

  compile 'com.android.support:support-v4:21.0.0' compile 'com.android.support:appcompat-v7:21.0.0' 

Все, что вам нужно сделать, это изменить приведенные выше значения на 21.

Просто выполните следующие действия:

Предварительно требования

Убедитесь, что вы загрузили последние версии, а также Android 5.0 SDK через SDK-Manager.

Изображение диспетчера SDK


Android Studio

Откройте файл build.gradle вашего приложения-модуля и измените файл compileSdkVersion на 21. В основном нет необходимости изменять targetSdkVersion SDK-версии до 21, но рекомендуется, так как вы всегда должны targetSdkVersion версию Android-версии Android . В итоге вы будете выглядеть так:

 android { compileSdkVersion 21 // ... defaultConfig { // ... targetSdkVersion 21 } } 

После этого обязательно синхронизируйте свой проект.

Android Studio Gradle Sync напоминание

Измените также buildToolsVersion:

 buildToolsVersion "19.1.0" 

в

 buildToolsVersion "21.1.2" 

Он должен работать


Если вы хотите, чтобы ваш проект был более поздним, чем выше, вот build.gradle моего проекта Android, созданного некоторое время назад:

 apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "23.0.2" defaultConfig { applicationId "com.example.piotr.myapplication" minSdkVersion 15 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.1.1' compile 'com.android.support:design:23.1.1' compile 'com.google.android.gms:play-services:8.4.0' } 

EDIT: Что-то все еще отсутствует. Попробуйте эти шаги

  1. Обновите свои зависимости до последней версии, как указано выше.

  2. Добавьте эту строку

    `Применить плагин: 'com.android.application' до

до

 `android { buildToolsVersion "19.1.0"` 

И изменение

 repositories { mavenCentral() ... 

с

  repositories { jcenter() mavenCentral() ... 

Надеюсь, что это поможет

Наконец, я нахожу решение

Я создал пустой новый проект libGDX, используя libGDX project setup с тем же пакетом, что и моя предыдущая настройка, и libGDX project setup все мои классы из старого проекта в новый. После всего этого я получаю рабочую версию моего кода.

Я не заметил никаких различий в buld.gradle, поданных в качестве комментариев, и @piotrek1543 ответов.

Я не знаю, в чем проблема, но мой проект теперь работает.

Надеюсь, это поможет любому в будущем!

Очень грустно, эта ошибка возникает каждый раз, когда я включаю диспетчер репозитория nexus в настройке градации

 repositories{ maven{ url "http://localhost:8081/nexus/content/groups/public/" } } 

Я был вынужден удалить удаление локального репозитория nexus, и он компилируется. Я чувствую все больше и больше, Google не чувствителен к потребностям разработчиков из развивающихся стран, где интернет действительно дорог и медленный. Я был вынужден покинуть

 repositories{ jcenter() }