2016-02-09 9 views
5

Es kann eine doppelte Frage sein, aber ich kann es nicht finden. Ich frage mich, wie wir bekommen können, was ist der ABI eines Telefons, mit Code. Ich weiß, dass es verschiedene Schnittstellen gibt, die in der Datei grdle diktiert werden können. Aber das Problem ist, wie ich genau die ABI eines bestimmten Geräts bekommen kann, so dass ich es manuell mit SuperSU in den Ordner system/lib/kopieren kann. Danke.Wie bekomme ich ABI (Application Binary Interface) in android

android.productFlavors { 
     // for detailed abiFilter descriptions, refer to "Supported ABIs" @ 
     // https://developer.android.com/ndk/guides/abis.html#sa 
     create("arm") { 
      ndk.abiFilters.add("armeabi") 
     } 
     create("arm7") { 
      ndk.abiFilters.add("armeabi-v7a") 
     } 
     create("arm8") { 
      ndk.abiFilters.add("arm64-v8a") 
     } 
     create("x86") { 
      ndk.abiFilters.add("x86") 
     } 
     create("x86-64") { 
      ndk.abiFilters.add("x86_64") 
     } 
     create("mips") { 
      ndk.abiFilters.add("mips") 
     } 
     create("mips-64") { 
      ndk.abiFilters.add("mips64") 
     } 
     // To include all cpu architectures, leaves abiFilters empty 
     create("all") 
    } 

Antwort

10

Es gibt zwei Möglichkeiten, wie Sie dies tun können. Einer ist veraltet, funktioniert aber immer noch, während der andere erfordert, dass auf dem Telefon Android 5.0 oder höher ausgeführt wird.

Der Veraltete Way

Wenn Sie alle aktuellen Handys unterstützen möchten können Sie verwenden:

import android.os.Build; 
String ABI = Build.CPU_ABI; 

Die Neuere Way

Die neuere Art und Weise tatsächlich eine Liste der zur Verfügung stellen alle unterstützten ABIs, wobei der erste Index der am meisten bevorzugte zu verwendende ABI ist (API Reference):

import android.os.Build; 
String ABI = Build.SUPPORTED_ABIS[0]; 

Beide Wege wurden getestet auf Android 5.1.1 zu arbeiten, sie eine der folgenden zurück:

  • armeabi
  • armeabi-V7A
  • armeabi-V7A harten
  • arm64-V8A
  • x86
  • x86_64
  • Mips
  • mips64

Zukunft ABIs hier aufgeführt werden sollte: https://developer.android.com/ndk/guides/abis.html#sa

+0

Bandon Dank, es funktioniert. –

2

Schauen Sie hier nach oben:

enter image description here

nicht wahr?

Durch ADB Shell:

adb shell getprop ro.product.cpu.abi 

Obwohl Java-Code:

import android.os.Build; 
Log.d("myabi", Build.SUPPORTED_ABIS[0]);