2014-02-06 3 views
1

내 애플리케이션에 Facebook 버튼을 사용하여 로그인을 추가하고 싶습니다. 그래서 나는이 가이드를 따라하려고 노력했다. Facebook 자격 증명을 사용하여 내 애플리케이션을 기록하십시오.

Getting Started with the Facebook SDK for Android

나는 안드로이드 키 해시를 얻기 위해 노력했다. 그러나 나는 그것을 내 PC cmd에서 실행할 수 없었다.

이것은 시도한 코드입니다.

나는 내 홈 경로를 %HOMEPATH%에 추가했습니다.

keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64 

그러나이 오류는 다음과 같습니다.

enter image description here

은 누구도 날이 오류를 해결하는 데 도움이 될 수 있습니다.

+0

1) CD를 C를 실행

OPENSSL_CONF=c:\openssl\bin\openssl.cfg을 설정합니다. 6.0 \ bin> 2) keytool -exportcert -alias androiddebugkey -keystore HOMEPATH \ .android \ debug.keystore | openssl sha1 - 이진 | openssl enc -a -e –

+0

같은 문제가있어 openssl을 다운로드해야합니다.이 [video] (https://www.youtube.com/watch?v=LUv8NDgu2Xk)를 확인하면 쉽게 도움이됩니다. – Coderji

답변

2

가 먼저 로컬 디스크 C이 a link

둘째 추출물 그것에서 OpenSSL을 다운로드 로그에 해시 키를 인쇄 : 그것은

세 번째 이름, 즉 폴더에는 OpenSSL의 이름 환경 변수에 설정하십시오.

을 다음과 같이 절차를 잘 클릭 내 컴퓨터 -> 속성 -> 고급 -> 시스템에서 이 변수 -> 이제 삽입 경로를 클릭하고 편집을

를 클릭하여 환경 변수는 ';' 세미콜론과 폴더 openssl의 경로를 붙여 넣습니다. 그 다음 ok.

이제 openssl이 cmd 명령으로 인식됩니다.

는 1

WARNING: can't open config file: C:/OpenSSL/openssl.cnf 
WARNING: can't open config file: C:/OpenSSL/openssl.cnf 
openssl:Error: 'base' is an invalid command. 

는 세 번째 단계에와 유사한 환경 변수에 선 아래 추가 --- KeyHash이 경고에 cmd를

keytool -exportcert -alias androiddebugkey -keystore "path of ur debug.keystore" | "C:\openssl\bin\openssl.exe" sha1 -binary | "C:\openssl\bin\openssl.exe" base64 

솔루션을 follwing을 실행 얻을 수 있습니다. \ 프로그램 파일 \ 자바 \ jdk1 :

지금 ... cmd를

keytool -exportcert -alias androiddebugkey -keystore "path of ur debug.keystore" | "C:\openssl\bin\openssl.exe" sha1 -binary | "C:\openssl\bin\openssl.exe" base64 

u는 경고합니까하지만 keyHash는 cmd를 반환됩니다 위

+0

감사합니다. KeyHash를 가져 갔지만 Fb 계정에 게시물을 게시 할 수 없습니다. – anuruddhika

+0

이 [link] (http://www.integratingstuff.com/2010/10/14/integrating-facebook-into-an-android-application/)에서 살펴보십시오 – kevz

+0

친애하는하지만 그것은 이렇게 말합니다. 경고. 경고 : 설정 파일을 열 수 없습니다 : C : /OpenSSL/openssl.cnf 경고 : 설정 파일을 열 수 없습니다 : C : /OpenSSL/openssl.cnf 내 키가 잘못되었다고 생각합니다 – anuruddhika

0

를 사용하여 다음 코드는

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     PrintHashKeyInLog(); 

    } 

    public void PrintHashKeyInLog() { 

     PackageInfo info; 
     try { 
      info = getPackageManager().getPackageInfo(
        "Your package name", 
        PackageManager.GET_SIGNATURES); 
      for (Signature signature : info.signatures) { 
       MessageDigest md; 
       md = MessageDigest.getInstance("SHA"); 
       md.update(signature.toByteArray()); 
       String something = new String(Base64.encode(md.digest(), 0)); // String 
       something = new String(Base64.encode(md.digest(), 0)); 
       Log.e("hash key", something); 
      } 
     } catch (NameNotFoundException e1) { 
      Log.e("name not found", e1.toString()); 
     } catch (NoSuchAlgorithmException e) { 
      Log.e("no such an algorithm", e.toString()); 
     } catch (Exception e) { 
      Log.e("exception", e.toString()); 
     } 
    } 
+0

무슨 뜻인가요? "Your AppId here"여기 – anuruddhika

+0

@anuruddhika 무시할 수 있습니다. 업데이트 된 답변을 확인하십시오 – Kunu

관련 문제