1

Я скачал код из этого хранилища (его приложение для управления попугаем дрона):Android Studio - ошибка: команда линкер потерпела неудачу с кодом выхода 1

Github

в надежде получить его на работу поэтому я могу изучить код, однако im получить эту ошибку, которая кажется трудно найти решение после поиска в Интернете, я в основном нашел вещи для IOS, xcode и т. д.

Я импортировал проект в андроид-студию, когда я пытаюсь выполнить приложение, я получаю следующую ошибку:

Error:error: linker command failed with exit code 1 (use -v to see invocation)

Я на самом деле не в НДК, но от того, что я видел, это может быть причиной того, вещи я пытался:

  • Загруженные NDK и добавил правильный путь к нему.
  • Использование последней версии SDK.
  • Изменения build.gradle как установка buildToolsVersion "25.0.0", и т.д.

build.gradle (Проект: ardrone)

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:2.2.2' 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 

build.gradle (модуль: приложение)

import org.apache.tools.ant.taskdefs.condition.Os 

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 24 
    buildToolsVersion "25.0.0" 

    defaultConfig { 
     multiDexEnabled true 
     applicationId "com.parrot.freeflight" 
     minSdkVersion 9 
     targetSdkVersion 24 
     versionCode 20000 
     versionName "2.0-SDK" 

     ndk { 
      moduleName "adfreeflight" 
     } 
    } 

    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
      // TODO proguard-rules seem outdated and useless cause it's only Android stuff 
     } 
    } 
    sourceSets.main { 
     jni.srcDirs = [] // This prevents the auto generation of Android.mk 
     jniLibs.srcDir 'src/main/jniLibs' 
     // This is not necessary unless you have precompiled libraries in your project. 
    } 

    task buildNative(type: Exec, description: 'Compile JNI source via NDK') { 
     def ndkCommand = "${android.ndkDirectory}/ndk-build" 
     if (Os.isFamily(Os.FAMILY_WINDOWS)) { 
      ndkCommand += ".cmd" 
     } 

     commandLine ndkCommand, 
       '-C', file('src/main/jni').absolutePath, 
       '-j', Runtime.runtime.availableProcessors(), 
       'all', 
       'NDK_DEBUG=1' 
    } 

    task cleanNative(type: Exec, description: 'Clean JNI object files') { 
     def ndkCommand = "${android.ndkDirectory}/ndk-build" 
     if (Os.isFamily(Os.FAMILY_WINDOWS)) { 
      ndkCommand += ".cmd" 
     } 

     commandLine ndkCommand, 
       '-C', file('src/main/jni').absolutePath, 
       'clean' 
    } 

    clean.dependsOn 'cleanNative' 

    tasks.withType(JavaCompile) { 
     compileTask -> compileTask.dependsOn buildNative 
    } 
} 

dependencies { 
    compile 'com.google.android.gms:play-services:10.0.0' 
    compile files('libs/android-support-v13.jar') 
    compile files('libs/com.sony.rdis.receiver-20111206.jar') 
    compile files('libs/com.sony.rdis.receiver.utility-20111206.jar') 
} 

local.properties

ndk.dir=C\:\\Users\\BugDroid\\AppData\\Local\\Android\\Sdk\\ndk-bundle 
sdk.dir=C\:\\Users\\BugDroid\\AppData\\Local\\Android\\Sdk 
+0

Текст этой формы должен быть больше текста этой строки. Посмотрите журнал и найдите описательное сообщение об ошибке, так как это просто общее сообщение из ld. –

+0

Как я могу просмотреть журнал? – BugDroid777

+0

В окне журнала в Android Studio, если вы строите оттуда. –

ответ

-1

Вы должны проверить журнал для более подробной информации, как ошибка «команды Linker завершилась с кодом выхода 1», как правило, сопровождается более детальной ошибкой.

Так, чтобы найти более подробную информацию, в Xcode нажмите на ошибку при Buildtime и выберите Reveal в журнале. Это должно дать вам дополнительный намек. Без какой-либо конкретной ошибки трудно понять, в чем проблема.

Смежные вопросы