2016-02-01 7 views
11

voglio compilare un progetto open source Android (Netguard) utilizzando Gradel (gradlew clean build) Ma ho incontrato questo errore:Errore: Nessun toolchain trovato nella NDK toolchain cartella per ABI con prefisso: LLVM

A problem occurred configuring project ':app'. 
> Exception thrown while executing model rule: NdkComponentModelPlugin.Rules#cre 
ateToolchains 
    > No toolchains found in the NDK toolchains folder for ABI with prefix: llvm 

I serached ma non ha trovato nulla aiutando. Qui è il principale build.gradle:

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle-experimental:0.6.0-alpha1' 
    } 
} 
allprojects { 
    repositories { 
     jcenter() 
    } 
} 
task clean(type: Delete) { 
    delete rootProject.buildDir 
} 

ed ecco il build.gradle del progetto app:

apply plugin: 'com.android.model.application' 

model { 
    android { 
     compileSdkVersion = 23 
     buildToolsVersion = "23.0.2" 

     defaultConfig.with { 
      applicationId = "eu.faircode.netguard" 
      minSdkVersion.apiLevel = 21 
      targetSdkVersion.apiLevel = 23 
      versionCode = 2016011801 
      versionName = "0.76" 
      archivesBaseName = "NetGuard-v$versionName-$versionCode" 
     } 
    } 
    android.ndk { 
     moduleName = "netguard" 
     toolchain = "clang" 
     ldLibs.add("log") 
    } 
    android.sources { 
     main { 
      jni { 
       source { 
        srcDir "src/main/jni/netguard" 
       } 
       exportedHeaders { 
       } 
      } 
     } 
    } 
    android.buildTypes { 
     release { 
      minifyEnabled = true 
      proguardFiles.add(file('proguard-rules.pro')) 
      ndk.with { 
       debuggable = true 
      } 
     } 
    } 
    android.buildTypes { 
     debug { 
      ndk.with { 
       debuggable = true 
      } 
     } 
    } 
    android.productFlavors { 
     create("all") { 
     } 
    } 
} 

dependencies { 


compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:23.1.+' 
    compile 'com.android.support:recyclerview-v7:23.1.+' 
    compile 'com.squareup.picasso:picasso:2.5.+' 
} 

e sto usando gradle-2.9-all e android-ndk-r10e. Non so se dovrei menzionare qualcos'altro, quindi commenta se hai bisogno di informazioni.

risposta

5

Ho risolto questo errore con la disinstallazione di NDK in SDK-Tools. Quindi, se non è necessario il NDK, disinstallarlo.

greez h

1

Nel mio caso, questo errore si è verificato durante la creazione di un progetto Java nuova Studio Android con

classpath 'com.android.tools.build:gradle:2.0.0-beta6' 

Così Ive ha declassato a

classpath 'com.android.tools.build:gradle:1.2.3' 

Non è la soluzione migliore rimanere in una versione precedente, ma forse è solo un bug temporaneo nella beta come il percorso NDK in local.properties è ancora th Lo stesso, ma l'IDE non si lamenta più

1

Ho disinstallato l'NDK poiché non ne avevo bisogno. Vai al gestore SDK su Android Studio (Strumenti -> Android -> SDK Manager). Se NDK è installato. Deseleziona la casella e fai clic su OK. I componenti installati verranno eliminati.

14

Messaggio di errore: "Nessun toolchain trovato nella cartella dei toolchains NDK per ABI con prefisso: llvm".

Dopo una nuova installazione Web di Android Studio con NDK, ho importato un esempio di codice Android che utilizzava NDK da GitHub e ho cercato di compilarlo.

Come risultato ha avuto un errore:

No toolchains found in the NDK toolchains folder for ABI with prefix: llvm

Soluzione: per alcuni motivi processo di installazione standard sul MAC non era riuscito a installare un set completo:

~/Library/Android/sdk/ndk-bundle aveva perso cartella toolchains con tutti gli strumenti,

(dovrebbe essere il seguente: ~/Library/Android/sdk/ndk-bundle/toolchains)

La soluzione era quella di scaricare NDK separatamente, aprirlo, copiare la cartella toolchain e incollarlo nella cartella:

~/Library/Android/sdk/ndk-bundle 

Dopo di che ha funzionato bene per me.

+1

Ha funzionato per me! – Thinsky

+0

nel mio caso è lì ma non ci sono file con prefisso _aarch64-linux-android_. Qualche suggerimento !! – CoDe

7

Ho riscontrato lo stesso problema durante l'aggiornamento di Android Studio da 2.0 a 2.1 nella mia macchina Windows 8.

Ho trovato una soluzione per questo.Per favore, attenersi alla seguente procedura.

  1. Scarica l'androide NDK per le finestre da https://developer.android.com/ndk/downloads/index.html.
  2. Estrai lo stesso e copia la cartella "toolchain" dal pacchetto.
  3. Incollare la cartella nella cartella NDK installata in C: \ android-sdk-win \ ndk-bundle. [Il percorso installato può variare in base all'installazione]
  4. Riavviare Android Studio.

Ciò accade perché Android Studio non riceverà l'aggiornamento completo NDK nel canale stabile. Se non si utilizza NDK per lo sviluppo del progetto, è sufficiente rimuovere la cartella NDK dalla directory dell'SDK.

+0

Ha funzionato per me, grazie. – Burakito

1

Ho avuto un problema simile, ma ho voluto usare NDK versione r9d a causa di proiettare requisiti.

Nel local.properties il percorso è stato fissato a ndk.dir=C\:\\Android\\ndk\\android-ndk-r9d ma che portano al problema:

No toolchains found in the NDK toolchains folder for ABI with prefix: [toolchain-name]

La soluzione era quella di:

  1. Installare il nuovo NDK tramite SDK Manager
  2. Copia i dispersi toolchain [nome-toolchain] dal nuovo ndk al vecchio. Nel mio caso sdk\ndk-bundle\toolchains-\ndk\android-ndk-r9d\toolchains
  3. Ripetere la procedura fino a che tutti i toolchain richiesti sono lì

mi sembra che i toolchain copiati non vengono utilizzati, ma per qualche motivo è necessario per loro essere lì .

0

Se non si utilizza NDK, disattivare la variabile di ambiente ANDROID_NDK_HOME.