0

こんにちは、携帯電話にマップをロードできません。読み取り用にファイルを開けませんというエラーが表示されます。Google Play サービスをライブラリ プロジェクトとして追加しました。プロジェクトにGoogle Play Services jarも追加しました

AndroidManifest.xml

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.mapsdemo"
        android:versionCode="1"
        android:versionName="1.0" >

        <uses-sdk
            android:minSdkVersion="15"
            android:targetSdkVersion="15" />
        <permission
              android:name="com.example.mapsdemo.permission.MAPS_RECEIVE"
              android:protectionLevel="signature"/>
        <uses-permission android:name="com.example.mapsdemo.permission.MAPS_RECEIVE"/>
        <uses-permission android:name="android.permission.INTERNET"/>
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
        <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

        <uses-feature
         android:glEsVersion="0x00020000"
         android:required="true"/>


        <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
                android:name="com.example.mapsdemo.MainActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <meta-data
                android:name="com.google.android.maps.v2.API_KEY"
                android:value="API KEY"/>
        </application>

    </manifest>

私のmain.xmlファイル

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/map"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  class="com.google.android.gms.maps.MapFragment"/>

私の MainActivity.java

package com.example.mapsdemo;

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.app.Activity;


public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

    }
}

Android 4.0.4 を搭載した Galaxy s3 でこれを実行すると、log cat にエラーが表示されます。

ログ猫 01-25 20:11:45.690: E/(23663): 読み取り用にファイルを開けません 01-25 20:11:45.690: E/(23663): 読み取り用にファイルを開けません

これを手伝ってください

4

2 に答える 2

0

This error message is apparently a side-effect on the Samsung Galaxy S3 that occurs when you don't register the SHA-1 fingerprint of the digital certificate you're using to sign the Android application with the Google APIs console for the Android Maps API V2.

For example, I got this same error:

Log cat 01-25 20:11:45.690: E/(23663): Can't open file for reading

...after I switched to a new laptop and forgot to add the SHA-1 of the new debug certificate on that laptop to the Google APIs console.

To fix this on Windows for the debug certificate, open the command prompt, and then:

cd .android
keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android -v

This will print out a bunch of text, and you'll want to copy the text after the SHA-1: output.

Then, follow the instructions in the Android Maps API V2 documentation to add your SHA-1 fingerprint followed by a semicolon and your app package name to the Google APIs console.

于 2013-03-19T01:51:50.033 に答える