멍멍이네 블로그

네이버 검색 시 절대 안나오더라구요,

다들 집 버프 시간짜리 받으세요 라는 글만 올리고.. 역시 네이버.. 정보력 엄청 안좋네요..

 

구글에서 검색하니까 바로 나오네요

 

연관 사이트가 나무위키.

 

그곳에서 설명을 토대로 다른사람들의 경험을 들어보니, 엘리트 혹은 보스몬스터 사냥 시 집 버프 받을 수 있는 장식물이 뜬다는군요!!

 

결론은 보스 닥사하세요!

Installation error: INSTALL_FAILED_CONFLICTING_PROVIDER

Please check logcat output for more details.

Launch canceled!

 

 

 

페이스북에서 예제파일 다운받아서 사용 중 내 파일에 샘플 코드를 옮기고 실행했는데 에러가 뜸!

검색해보니 다음과 같은 결과가 나왔다

 

 

원인

  <provider> 태그의 android:authorities  때문에 생기는 오류라고 한다.

  android:authorities 값을 바꾸거나 지워야 한다!

 

해결

  나같은경우는 예제파일과 내 파일이 같은 값을 가지고 있었다.

  둘다 지우고 재실행하니 문제없이 실행됌!

{"error":{"message":"An active access token must be used to query information about the current user.","type":"OAuthException","code":2500}}

 

 

원인 및 해결방법

 

한꺼번에 해결해서 정확한 원인과 결과는 모른다.

다만 페이스북 디벨로퍼 홈페이지를 참조해도 알것이다.

가장 대표적인 에러라면서 글이 있다.

 

그 글을 해석해서 주요 내용을 보면 주로 권한에 관한 문제일것이다 라고 되어있다.

매니페스트에 프로바이더 추가하고, 퍼미션 주니까 잘 됀거같다.


<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

 

 

<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/app_id"/>
<provider android:authorities="com.facebook.app.NativeAppCallContentProvider(AppID)"
                  android:name="com.facebook.NativeAppCallContentProvider"
                  android:exported="true"/>

 

provider의 (AppID) 를 @string/app_id 값으로 바꿔줘야됌

ex) android:authorities="com.facebook.app.NativeAppCallContentProvider123456789123456"

안드로이드 + 페이스북 사용하기 위해서 Facebook SDK 설치 및 세팅 후 프로젝트 생성 후

 


import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.Signature;
import android.util.Base64;
import android.util.Log;

 

try {
   info = getPackageManager().getPackageInfo(
           "me.croute.test",
           PackageManager.GET_SIGNATURES);
         for (Signature signature : info.signatures) {
             MessageDigest md = MessageDigest.getInstance("SHA");
             md.update(signature.toByteArray());
             Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
         }
  } catch (Exception e) {
   // TODO Auto-generated catch block

            Log.d("error", "e : " + e.toString());
   e.printStackTrace();
  }

 

 

위 코드를 넣으면 로그로 키해시가 불려진다.

[2015-07-27 09:57:50 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/facebook/android/AsyncFacebookRunner$1;
[2015-07-27 09:57:50 - CrouteTestApp] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/facebook/android/AsyncFacebookRunner$1;

 

 

원인

  페이스북 api 사용 도중에 에러가 뜸.

  아무래도 정식 홈페이지가 아니라 블로그에서 다운받은 sdk를 사용해서 그런걸로 추정됨.

  왜냐하면, 지금 홈페이지에서 정식버전을 다운받아서 사용하니까 문제가 없음.

  정확한 원인과 해결방법은 알지 못함.

  [사건 미제처리]

 

 

해결방법 : 포기

자.. 곧바로 페이스북 연동 2편입니다.
이제 새로운 안드로이드 프로젝트를 만들겠습니다.
File > New > Android Project 를 클릭해 다음과 같이 프로젝트를 만듭니다.

다음은 facebook sdk를 받아야 합니다. 아래 파일을 받으시면 될듯 합니다.
facebook_sdk.zip
위 파일을 받으셔서 압축을 푸시면
facebook
drawable
drawable-hdpi
drawable-ldpi
의 네개의 폴더가 생깁니다. 위 폴더에서 facebook 폴더는 생성된 프로젝트의 src/com 디렉토리 밑에
복사하여 주시고 나머지 폴더는 생성된 프로젝트의 res 폴더 밑에 복사(합치기)하여 주시면 됩니다.
그러면 다음처럼 에러가 하나 뜨게 될것입니다.

FdDialog.java를 더블클릭하여 여시고 91 라인(에러가 발생한 부분)에 가시면 R.drawable.facebook_icon 에서 R에
붉은 줄이 그어져 있습니다. 이 에러는 import com.android.facebookcon.R; 를 추가해주시면 없어집니다.

이제 코딩을 시작하겠습니다.
먼저 상수를 보관하기 위해 컨스턴스 클래스를 하나 만들겠습니다.
com.android.facebookcon 패키지 밑에 C.java 파일을 만듭니다.
이클립스에서 클래스 만들기로 만드시면 될듯...
만들어진 C.java 파일은 다음과 같습니다.
****************************C.java******************************
package com.android.facebookcon;

 

public class C
{
  public static final String LOG_TAG = "FacebookCon";
  public static boolean D = true;
  public static final String FACEBOOK_APP_ID = "App id";
  public static final int FACEBOOK_AUTH_CODE = 32665;
}
****************************************************************

다음은 main.xml 의 수정입니다.
다음과같이 수정합니다.
****************************main.xml******************************
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="5dp"
    >
 <EditText
  android:id="@+id/etContent"
  android:layout_width="fill_parent"
  android:layout_height="100dp"
  android:padding="5dp"
  android:textSize="16sp"
  android:gravity="top"
  android:typeface="monospace"
  android:scrollbars="vertical"
  android:background="#FFFFFF"/>

 <LinearLayout
     android:orientation="horizontal"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:padding="5dp"
     android:gravity="center_vertical|center_horizontal"
     >
  <Button
    android:id="@+id/btnLogin"
   android:layout_width="70dp"
   android:layout_height="wrap_content"
   android:text="Login"/>
  <Button
    android:id="@+id/btnFeed"
   android:layout_width="70dp"
   android:layout_height="wrap_content"
   android:text="Write"/>
  <Button
    android:id="@+id/btnLogout"
   android:layout_width="70dp"
   android:layout_height="wrap_content"
   android:text="Logout"/>
 </LinearLayout>

</LinearLayout>
****************************************************************
현재까지의 프로젝트 상황은 다음그림과 같습니다.

 


현재 프로젝트를 실행시키면 다음처럼 실행될것입니다. (FacebookCon.java 파일은 수정하지 않았습니다.)


이제 앞으로 로그인, 글쓰기, 로그아웃 기능을 추가하도록 하겠습니다.
다음편에 계속...

 

출처 : http://jeehun.egloos.com/3998449

오늘은 Android App에서 Facebook에 연동하는 작업을 해보도록 하겠습니다.
Facebook 연동은 다음의 절차를 거치게 됩니다.

1. Facebook에 App 등록하여 App ID 발급
2. Facebook oauth를 통하여 Accesstoken 발급받기
3. Accesstoken을 이용하여 Facebook에 글 올리기

먼저 Facebook 에 App을 등록하는것을 알아봅니다.
Facebook.com에 접속하여 (물론 가입되어 있어야 합니다.)
맨 아래 개발자 링크를 클릭합니다. 아래 그림의 붉은색 부분입니다.
다음은 링크로 들어간 페이지의 최 상단 우측에 있는 내 앱 을 클릭합니다.
다음으로는 +새 애플리케이션 만들기 를 클릭합니다.

필수정보들을 시키는대로 입력합니다.
어플리케이션 만들기를 클릭하면 어플리케이션 만들어집니다.
다음 화면의 모바일 및 장치에서 어플리케이션 ID를 확인합니다.

이제 이 App id를 이용해 액세스 토큰을 얻어오고 이를 이용해 페이스북에 글을 올릴 수 있습니다.
다음편에 계속하도록 하겠습니다.

 

 

출처 : http://jeehun.egloos.com/3998429

 

이클립스로 프로젝트를 생성 중 GC overhead limit exceeded 에러가 발생 찾아보니 유사한 사례 발견!

http://hungry2s.tistory.com/83

 

 

 

'Unable to execute dex: GC overhead limit exceeded GC overhead limit exceeded' 

Eclipse환경에서 Run을 시켰을때 빌드를 통해 메모리를 확보하는 중간에 Eclipse가 응답없음으로 바뀌는 에러입니다.

 

고치는 방법은 Eclipse폴더에 있는 eclipse.ini파일을 수정하면 됩니다.

 

-Xms40m

-Xmx384m 

 

이와 같은 내용(메모리 사용 40/384)을 

 

-Xms1024m

-Xmx1024m

 

이렇게(메모리 사용 1024/1024) 수정합니다.

간혹 프로젝트 만들거나 진행하다보면 R.layout.activity_main 레이아웃을 인식하지 못했다.

activity_main cannot be resolved or is not a field <<

확인해보니 변수나 클래스의 정보를 갖는 gen폴더의 R.java 파일이 제대로 생성되지 않았다(혹은 사라짐)

 

원인 : 모름. 알게 되면 댓글에 url 주소 부탁드려요~

 

해결방법 : 프로젝트에 다른 에러사항이 없도록 수정 후 메뉴에서 Project -> Clean... -> Clean projects selected below(청소 할 프로젝트 선택) 선택 후 현재(R.java 파일이 없는) 프로젝트 선택 후 OK!

 

청소를 하니까 생기네요!

 

p.s. xml에서 코드 수정 시 class에서 인식을 늦게 하는 경우에도 clean을 해주면 바로 인식 됩니다. 

'프로그래밍 > Java' 카테고리의 다른 글

[java/linux] 라즈베리파이 마크 서버 열기.  (0) 2021.08.19
[Java] Android Studio / Android SDK 다운로드  (0) 2015.05.21
[Java] JDK 설치  (0) 2015.05.21
[Java] 자바 환경변수 설정  (0) 2015.05.21
아파치 톰캣 에러  (0) 2015.02.25

으으.. 맥도날드 상무지구 치평동 맥도날드 아침에 별로네요..

 

아침마다 갔는데 오늘은..

 

포장으로 사서 회사 와서 뜯어보니 콜라는 조금 주고(3/4 정도 채워져있음.. 콜라 좋아하는데..), 에그맥머핀에서는 달걀껍질나오고..

 

 

다른데 가야돼낭..

 

어쨋든 이번주도 파이팅!! 해서 보내야지!