2013-09-01 3 views
13

안드로이드 Studio에서 실행하는 동안 나는 내 애플 리케이션에 페이스 북을 통합하려고하지만,있어 파일 열 수 없습니다, 나는이 얻을 :안드로이드 스튜디오 - PNG는

Gradle: Execution failed for task ':AplikaceBeta1.0.1:mergeDebugResources'. Failed to run command: C:\Users\David\AppData\Local\Android\android-studio\sdk\build-tools\android-4.2.2\aapt.exe s -i C:\Users\David\Desktop\facebook-android-sdk-3.5\facebook-android-sdk-3.5\samples\AplikaceBeta1.0.1Project\AplikaceBeta1.0.1\build\exploded-bundles\AplikaceBeta101ProjectLibrariesFacebookUnspecified.aar\res\drawable\com_facebook_profile_picture_blank_square.png -o C:\Users\David\Desktop\facebook-android-sdk-3.5\facebook-android-sdk-3.5\samples\AplikaceBeta1.0.1Project\AplikaceBeta1.0.1\build\res\all\debug\drawable\com_facebook_profile_picture_blank_square.png Error Code: 42 Output: C:\Users\David\Desktop\facebook-android-sdk-3.5\facebook-android-sdk-3.5\samples\AplikaceBeta1.0.1Project\AplikaceBeta1.0.1\build\exploded-bundles\AplikaceBeta101ProjectLibrariesFacebookUnspecified.aar\res\drawable\com_facebook_profile_picture_blank_square.png ERROR: Unable to open PNG file

PNG 파일을 열 수 없습니다 ... 무엇을 ?!

코드는 "Getting Started with the Facebook SDK for Android (Android Studio)"가이드와 완전히 같습니다. 정말 간단합니다. 내 MainActivity.java입니다.

package com.example.aplikacebeta101; 

import android.os.Bundle; 
import android.app.Activity; 
import android.content.Intent; 
import android.widget.TextView; 
import com.facebook.*; 
import com.facebook.model.*; 

public class MainActivity extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     // start Facebook Login 
     Session.openActiveSession(this, true, new Session.StatusCallback() { 

      // callback when session changes state 
      @Override 
      public void call(Session session, SessionState state, Exception exception)    { 
      if (session.isOpened()) { 

       // make request to the /me API 
       Request.executeMeRequestAsync(session, new Request.GraphUserCallback() { 

        // callback after Graph API response with user object 
        @Override 
        public void onCompleted(GraphUser user, Response response) { 
         if (user != null) { 
          TextView welcome = (TextView) findViewById(R.id.welcome); 
          welcome.setText("Hello " + user.getName() + "!"); 
         } 
        } 
       }); 
      } 
     } 
    }); 
} 

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data); 
} 

} 

아이디어가 있으십니까? 안드로이드 스튜디오는 여전히 EAP이지만, 안드로이드 스튜디오 때문이 아니라고 생각합니다.

+0

이 오류는 Android Studio가 아닌 Gradle과 연결됩니다. Mac에서 복사 한 Windows에서 프로젝트를 실행하고 싶었습니다. 왜 그런지 모르겠지만 Windows에서 Windows로 같은 프로젝트를 복사하면 모든 것이 정상입니다 ... – lomza

+0

이것은 너무 긴 경로와 관련 될 수 있지만 ... 확실하지 않습니다 – for3st

+0

Windows 셸에서 260 자보다 긴 경로를 사용하려면 \\? \를 앞에 붙여야합니다. 이것은 빌드 규칙을 약간 변경하여 쉽게 수정할 수있는 것처럼 보입니다. Android Studio 팀에 말씀 드리겠습니다. –

답변

57

Windows를 사용하고 있습니까? 생성 된 빌드 파일 경로가 자의 Windows (NTFS) 최대 경로 길이를 초과하면이 오류가 발생할 수 있습니다. 프로젝트 경로가 너무 길지 않은지 확인하고, 짧은 이름도 사용하십시오.

Maximum Path Length Limitation In the Windows API (with some exceptions discussed in the following paragraphs), the maximum length for a path is MAX_PATH, which is defined as 260 characters. A local path is structured in the following order: drive letter, colon, backslash, name components separated by backslashes, and a terminating null character. For example, the maximum path on drive D is "D:\some 256-character path string" where "" represents the invisible terminating null character for the current system codepage. (The characters < > are used here for visual clarity and cannot be part of a valid path string.)

More info from MS:은 또한 그것은 창에서 경로 길이 문제입니다, @ for3st으로 discussion why the limitation Windows exists.

+0

이것은 매우 잘 작동합니다 ... 많이 고마워요 –

+0

뛰어난 캐치 ...... 고마워요 ... – Kedarnath

+0

awsme 덕분에 많이 !! 나는 이것을 디버깅하는데 오랜 시간을 낭비했다 !! 고마워요 !!!! 나를 위해 일 – Deepak

관련 문제