2013-10-07 3 views
19

Wie finde ich heraus, dass die Version des aktuellen SDK von meiner Anwendung installiert oder referenziert wird? Ich habe die Klassendateien und das Manifest durchgesehen, aber es gibt keinen Hinweis darauf, um welche Version es sich handelt.Suche nach der Android Facebook SDK-Version

Vielen Dank im Voraus.

Antwort

31

Sie haben FacebookSdkVersion Klasse mit der aktuellen Version: https://github.com/facebook/facebook-android-sdk/blob/master/facebook/src/com/facebook/FacebookSdkVersion.java

final class FacebookSdkVersion { 
    public static final String BUILD = "3.5.2"; 
    public static final String MIGRATION_BUNDLE = "fbsdk:20130708"; 
} 

Da diese Klasse ohne Modifikator und man kann es nicht von Ihrem Paket zugreifen, eine Reflexion verwenden. Dies wird Ihnen die sdk Version zurück:

private String getFacebookSDKVersion() 
{ 
    String sdkVersion = null; 
    ClassLoader classLoader = getClass().getClassLoader(); 
    Class<?> cls; 
    try 
    { 
     cls = classLoader.loadClass("com.facebook.FacebookSdkVersion"); 
     Field field = cls.getField("BUILD"); 
     sdkVersion = String.valueOf(field.get(null)); 
    } 
    catch (ClassNotFoundException e) 
    { 
     // error 
    } 
    catch (NoSuchFieldException e) 
    { 
     // error 
    } 
    catch (IllegalArgumentException e) 
    { 
     // error 
    } 
    catch (IllegalAccessException e) 
    { 
     // error 
    } 
    return sdkVersion; 
} 
1

Es gibt eine öffentliche API: "Ruft die aktuelle Version des Facebook-SDK für Android als String"

import com.facebook.Settings; 

Settings.getSdkVersion() 

Ich empfehle nicht, Reflexion zu verwenden, um auf die Paketklasse zugreifen - sie können dies in der Zukunft ändern und Ihren Code brechen, aber diese öffentliche API sollte als stabil angesehen werden.

+0

Ich sehe die Einstellungsbibliothek nicht verfügbar. Ich benutze es zum ersten Mal und ich brauche wirklich Hilfe, meine FB sdk Version zu kennen – saunlogan

1

Der einfachste Weg:

1.- zu AndroidManifest.xml geht

2.- Blick auf Ihrer Bottom Navigation anzeigen, gibt es zwei Registerkarten: Text und fusionierte Manifest, auf dem letzten Klick ein.

3.- Auf der rechten Seite erscheinen die Manifest Sources, dort ist es: zum Beispiel habe ich das: facebook-android-sdk: 4.20.0 manifest.

Ich weiß, es ist ein bisschen alt, aber ich suchte dies im März 2017 und es gibt keine einfache Antwort wie folgt.