2013-10-27 25 views
5

Trên https://developers.facebook.com/docs/android/getting-started/facebook-sdk-for-android/ chúng tôi chỉ cách lấy mã băm chính nhưng tôi không biết mình có thể làm gì với "keytool -exportcert -alias androiddebugkey -keystore% HOMEPATH% .android \ debug .keystore | openssl sha1 -binary | openssl base64 ". Trên trang web, chúng tôi nói về tiện ích keytool của Java nhưng tôi không biết nó là gì? Xin vui lòng tôi muốn tạo ứng dụng facebook của tôi cho android tôi không biết làm thế nào tất cả các công việc này. Tôi cần một người giúp tôi từng bước một. Cảm ơn bạn đã Advance.Tạo băm khóa cho các ứng dụng Facebook trong Android

+1

bạn có jdk dưới jdk/bin bạn sẽ thấy keytool – Raghunandan

+0

cảm ơn bạn! Nhưng tôi cố gắng mở và khi nó mở ra 1 phút sau khi nó được đóng lại một mình. –

+0

sử dụng windows hoặc linux. bạn không mở nhưng thực thi lệnh – Raghunandan

Trả lời

4

Keytool là một phần của Java JDK. Lệnh keytool bạn đã đề cập sẽ xuất ra một base64, sha1 được mã hóa đại diện cho khóa gỡ lỗi của bạn. Ứng dụng của bạn được ký bằng khóa gỡ lỗi này mỗi lần bạn biên dịch. Facebook sử dụng khóa này để xác minh rằng máy tính của bạn đã biên dịch ứng dụng. Vì vậy, trong giao diện quản lý ứng dụng Facebook, bạn sẽ đặt đầu ra của lệnh keytool.

Nếu bạn gặp sự cố khi chạy lệnh, nó có nhiều khả năng nhất với các đường dẫn không chính xác. Hãy thử:

"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 

Nơi bạn thay đổi đường dẫn trong dấu ngoặc kép thành đường dẫn openssl.exe và keytool.exe trên máy tính của bạn. (Bạn có thể phải tải xuống openssl trước)

+0

Trong Terminal i có writen ***** C: \ Program Files \ 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 ***** nhưng tôi thấy lỗi xin hãy giúp tôi. –

+0

Bạn không nên xóa dấu ngoặc kép xung quanh đường dẫn. (Xem ví dụ của tôi) –

3

làm theo các bước sau: 1. Đặt đường dẫn trên cmd của bạn.

C:\Program Files\Java\jdk1.7.0_03\bin 
  1. Sau đó tải xuống openssl-0.9.8k_WIN32. Dán nó vào thư mục C: của bạn.
  2. Sử dụng lệnh

    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 sẽ yêu cầu PASSWORD password.put sau = android

  3. Bạn sẽ nhận được hashkey của bạn. để biết thêm thông tin xin truy cập: [http://android-developer-helpdesk.blogspot.com/2014/04/hash-key-generation.html]
3

trước hết là kiểm tra hệ thống của bạn mà nó là 64 bit hoặc 32 bit.

nếu nó là 32 bit sau đó cung cấp cho các lệnh sau

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

và nếu nó là 64 bit sau đó cung cấp cho các lệnh sau

"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

Không có vấn đề máy tính, cách dễ nhất để thực hiện điều này đơn giản bằng cách tải xuống (openssl) - (https://code.google.com/p/openssl-for-windows/downloads/list) và đặt nó vào một thư mục mới trên c Drive như vậy .... kỳ thi ple {C: \ openssl}

Bây giờ, dấu nhắc lệnh của bạn sẽ trông giống như thế này khi tìm kiếm khóa phát hành (chỉ cần chuyển vị trí để gỡ lỗi kho khóa hoặc ngược lại!

Hãy loại bỏ tất cả dấu ngoặc kép trước khi dán vào cửa sổ lệnh ...

keytool -exportcert -alias "tên của keystore của bạn đi đây" -keystore "vị trí wher tập tin keystore của bạn là" | C: \ openssl \ bin \ openssl.exe sha1 -binary | C: \ openssl \ bin \ openssl.exe base64

1

Nếu bạn đang sử dụng cho android studio như là nền tảng phát triển hơn nó sẽ dễ dàng để có được Key Hash cho Facebook.

1: Tạo tệp java MyApplication.java.

2: Dán mã bên dưới vào trong đó.

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: bây giờ mở tệp kê khai của bạn và trong thẻ ứng dụng ghi android: name = ". MyApplication".

giống như dưới đây trong AndroidManifest.xml

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

Nếu bạn đã sử dụng tên như android: name = "android.support.multidex.MultiDexApplication" sau đó cũng thay thế nó bởi vì tôi đã sử dụng kéo dài multidexing trong tệp MyApplication.java.

bạn đang sử dụng bất kỳ tên nào ngoài việc thay thế bằng tệp MyApplication.java sau khi truy cập vào Hash bạn có thể sử dụng tên tệp trước đó của mình.

Các vấn đề liên quan