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 上运行它时,日志猫给了我一个错误:

日志 cat 01-25 20:11:45.690: E/(23663): 无法打开文件进行阅读 01-25 20:11:45.690: E/(23663): 无法打开文件进行阅读

请帮忙解决这个问题

4

2 回答 2

0

哦,我的上帝..你的“我的 MainActivity.java”是错误的。你没有在里面写任何东西,所以你得到了失败。要显示 Google 地图,您的 java 代码至少必须包含以下代码,这是基本和初始设置;

1.**修改您的“**my MainActivity.java ”,如下所示;

这显示了如何使用地图和地图上的标记创建简单的活动。请注意我们如何处理用户设备上未安装/启用/更新 Google Play 服务 APK 的可能性。

public class MainActivity extends android.support.v4.app.FragmentActivity {

    private GoogleMap mMap;

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

    @Override
    protected void onResume() {
        super.onResume();
        setUpMapIfNeeded();
    }


    private void setUpMapIfNeeded() {
        // Do a null check to confirm that we have not already instantiated the map.
        if (mMap == null) {
            // Try to obtain the map from the SupportMapFragment.
            mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map))
                    .getMap();
            // Check if we were successful in obtaining the map.
            if (mMap != null) {
                setUpMap();
            }
        }
    }


    private void setUpMap() {
        mMap.addMarker(new MarkerOptions().position(new LatLng(0, 0)).title("Marker"));
    }
}

2.**修改完成后,按键盘上的**ctrl+shft+字母“o”保存,再次运行~!。

注意:在运行之前,您必须在 Android 4.0.3 中将构建目标设置为“Googel APIs”,而不是在 eclipse 中将构建目标设置为 Android 4.0.3。请检查一下; project < properties < Android < 选择Android 4.0.3下的“Googel APIs”,

于 2013-01-27T05:33:55.527 回答
0

此错误消息显然是三星 Galaxy S3 的副作用,当您未注册用于使用 Android Maps API 的 Google API 控制台签署 Android 应用程序的数字证书的 SHA-1 指纹时,就会出现此错误消息V2。

例如,我得到了同样的错误:

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

...在我切换到一台新笔记本电脑并忘记将该笔记本电脑上的新调试证书的 SHA-1 添加到 Google API 控制台之后。

要在 Windows 上为调试证书修复此问题,请打开命令提示符,然后:

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

这将打印出一堆文本,您需要在SHA-1:输出后复制文本。

然后,按照Android Maps API V2 文档中的说明将您的 SHA-1 指纹、分号和您的应用程序包名称添加到 Google API 控制台。

于 2013-03-19T01:51:50.033 回答