2013-10-27 7 views
5

Su https://developers.facebook.com/docs/android/getting-started/facebook-sdk-for-android/ mostriamo come ottenere l'hash della chiave ma non so cosa posso fare con "keytool -exportcert -alias androiddebugkey -keystore% HOMEPATH% .android \ debug .keystore | openssl sha1 -binary | openssl base64 ". Sul sito web parliamo dell'utilità keytool di Java ma non so di cosa si tratta? Per favore, voglio creare la mia app di Facebook per Android, non so come tutto questo funzioni. Ho bisogno di qualcuno che mi aiuti passo dopo passo. Grazie per l'anticipo.Genera un hash chiave per le app di Facebook in Android

+1

avete jdk sotto jdk/bin vedrete il keytool – Raghunandan

+0

grazie! Ma cerco di aprire e quando si apre 1 minina è chiuso da solo. –

+0

utilizzando windows o linux. non si apre ma si esegue il comando – Raghunandan

risposta

4

Keytool fa parte di Java JDK. Il comando keytool che hai menzionato genererà una rappresentazione crittografata base64, sha1 della tua chiave di debug. La tua app è firmata con questa chiave di debug ogni volta che la compili. Facebook utilizza questa chiave per verificare che il tuo computer abbia compilato l'app. Quindi, nell'interfaccia di Gestione Facebook di Facebook, avresti messo l'output del comando keytool.

Se si incontrano problemi nell'esecuzione del comando, è più probabile che si tratti di percorsi errati. Prova:

"C:\Program Files\Java\jdk1.6.0_33\bin\keytool.exe" -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | "C:\Users\A\Downloads\openssl-0.9.8h-1-bin\bin\openssl.exe" sha1 -binary | "C:\Users\A\Downloads\openssl-0.9.8h-1-bin\bin\openssl.exe" base64 

Dove si cambiano i percorsi tra virgolette per i percorsi di openssl.exe e keytool.exe sul computer. (Potrebbe essere necessario scaricare OpenSSL prima)

+0

Nel terminale ho scritto ***** C: \ Programmi \ Java \ jdk1.7.0_40 \ bin \ keytool.exe -exportcert -alias androiddebugkey -keystore% HOMEPATH% \. Android \ debug.keystore | C: \ OpenSSL-Win32 \ bin \ openssl.exe sha1 -binary | C: \ OpenSSL-Win32 \ bin \ openssl.exe base64 ***** ma vedo errore per favore aiutatemi. –

+0

Non si dovrebbero rimuovere le virgolette attorno ai percorsi. (Vedi il mio esempio) –

3

attenersi alla seguente procedura: 1. Impostare percorso sul cmd.

C:\Program Files\Java\jdk1.7.0_03\bin 
  1. quindi scaricare openssl-0.9.8k_WIN32. Incollalo nella tua cartella C :.
  2. Usa seguente comando

    C:\Program Files\Java\jdk1.7.0_03\bin\keytool -export -alias myAlias -keystore    
    C:\Users\Admin\.android\debug.keystore | C:\openssl-0.9.8k_WIN32\bin\openssl enc -a -e 
    

    4.It chiederà la password password.put = androide

  3. Otterrete il vostro HashKey. per maggiori info visita: [http://android-developer-helpdesk.blogspot.com/2014/04/hash-key-generation.html]
3

prima di tutto controllare il sistema che è a 64 bit o 32 bit.

se è a 32 bit dà poi il seguente comando

keytool -export -alias myAlias -keystore C:\Users\monue\.android\debug.keystore | C:\openssl\bin\openssl sha1 -binary | C:\openssl\bin\openssl enc -a -e 

e se è a 64 bit dà poi il seguente comando

"C:\Program Files\Java\jdk1.6.0_33\bin\keytool.exe" -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | "C:\Users\A\Downloads\openssl-0.9.8h-1-bin\bin\openssl.exe" sha1 -binary | "C:\Users\A\Downloads\openssl-0.9.8h-1-bin\bin\openssl.exe" 

base64

2

Non importa il computer, il il modo più semplice per farlo è semplicemente scaricando (openssl) - (https://code.google.com/p/openssl-for-windows/downloads/list) e inserendolo in una nuova cartella sul disco c come tale .... esame PLE {C: \ openssl}

Ora è prompt dei comandi dovrebbe essere simile a questo quando alla ricerca di chiave di sblocco (solo passare posizioni per eseguire il debug di chiavi o viceversa!

Si prega di rimuovere tutte le virgolette prima di incollare nel prompt dei comandi ...

keytool -exportcert -alias "nome del tuo keystore va qui" -keystore "Posizione wher tuo file di archivio chiavi è" | C: \ openssl \ bin \ openssl.exe sha1 -binary | C: \ OpenSSL \ bin \ OpenSSL.exe base64

1

Se si utilizza Android Studio come piattaforma di sviluppo, sarà facile ottenere Key Hash per Facebook.

1: Creare un file java MyApplication.java.

2: Incollare il codice riportato di seguito.

public class MyApplication extends MultiDexApplication { 

public void onCreate(){ 
    super.onCreate(); 
    PrintKeyHash(); 

} 

public void PrintKeyHash(){ 
    try{ 
     PackageInfo info = getPackageManager().getPackageInfo("com.bhunnu.nearveg", PackageManager.GET_SIGNATURES); 
     for (Signature signature: info.signatures){ 
      MessageDigest md = MessageDigest.getInstance("SHA"); 
      md.update(signature.toByteArray()); 
      Log.e("Your System KEYHASH : ", Base64.encodeToString(md.digest(), Base64.DEFAULT)); 
     } 
    }catch (PackageManager.NameNotFoundException e){ 

    }catch (NoSuchAlgorithmException e){ 

    } 
} 

@Override 
protected void attachBaseContext(Context base) { 
    super.attachBaseContext(base); 
    MultiDex.install(this); 
} 

} 

3: ora apri il file manifest e nel tag dell'applicazione scrivi android: name = ". MyApplication".

stessi sotto in AndroidManifest.xml

<application 
    android:allowBackup="true" 
    android:icon="@drawable/icon1" 
    android:label="@string/app_name" 
    android:name=".MyApplication.java" 
    android:theme="@style/AppTheme"> 

Se si utilizza già il nome come Android: name = "android.support.multidex.MultiDexApplication" poi anche sostituirlo perché ho usato si estende multidiffusione nel file MyApplication.java.

si sta utilizzando qualsiasi nome che anche una volta sostituito dal file MyApplication.java dopo aver ottenuto in Hash è possibile utilizzare il nome del file precedente.

Problemi correlati