Android Studio - 无法打开PNG文件 [英] Android Studio - Unable to open PNG file

查看:400
本文介绍了Android Studio - 无法打开PNG文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


Gradle:我正在尝试将Facebook整合到我的应用程序中,但在Android Studio中运行时,执行失败的任务':AplikaceBeta1.0.1:mergeDebugResources'。
无法运行命令:
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
错误代码:
42
输出:
C:\Users\David\Desktop\facebook-android-sdk-3.5\facebook-android-sdk-3.5\samples\AplikaceBeta1.0.1Project \Aplik aceBeta1.0.1\build\exploded-bundles\AplikaceBeta101ProjectLibrariesFacebookUnspecified.aar\res\drawable\com_facebook_profile_picture_blank_square.png错误:无法打开PNG文件


无法打开PNG文件...什么?!



代码与使用Android SDK的Android SDK(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);

//开始Facebook登录
Session.openActiveSession(this,true,new Session.StatusCallback(){

//当会话更改状态$ b $时回调b @Override
public void call(Session session,SessionState state,Exception exception){
if(session.isOpened()){

//向/ me发出请求API
Request.executeMeRequestAsync(session,new Request.GraphUserCallback(){

//在用户对象的Graph API响应后回调
@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);
}

}

任何想法?我知道,Android Studio仍然是EAP,但我认为这不是由Android Studio引起的。

解决方案

您是否使用Windows?如果生成的构建文件路径超过了 260 的Windows(不是NTFS )最大路径长度,则可能会发生此错误。确保您的项目路径不要太长,也可以使用短名称。 来自MS的更多信息:


最大路径长度限制
在Windows API中以下段落),路径的最大长度为MAX_PATH,定义为260个字符。本地路径按以下顺序组织:驱动器号,冒号,反斜杠,以反斜杠分隔的名称组件和终止空字符。例如,驱动器D上的最大路径为D:\some 256-character path string,其中表示当前系统代码页的不可见终止空字符。 (这里使用字符<>可视化清晰,不能作为有效的路径字符串的一部分。)


另请参见讨论Windows限制的原因 / p>

I'm trying to integrate Facebook into my app, but while running it in Android Studio, I get this:

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

Unable to open PNG file... what?!

Code is totally the same as in "Getting Started with the Facebook SDK for Android (Android Studio)" guide. It's really simple, this is my 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);
}

}

Any ideas? I know, Android Studio is still EAP, but I think this is not caused by Android Studio.

解决方案

Are you using Windows? This error could happen if the generated build file path exceeds the Windows (not NTFS) max path length of 260 characters. Make sure your project path is not too long, use short names as well. More info from MS:

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.)

Also see discussion why the limitation Windows exists.

这篇关于Android Studio - 无法打开PNG文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆