谷歌地图赢得';在android realdevice(2.3)上显示,但在emulator上显示

谷歌地图赢得';在android realdevice(2.3)上显示,但在emulator上显示,android,google-maps,android-emulator,Android,Google Maps,Android Emulator,我开发了一个android应用程序来跟踪最近的ATM机。地图显示在android emulator 2.3.3(API 10)和android 4.3(API 18)上。在Emulator中,不显示用户当前位置。模拟器的目标不是谷歌API。但地图并没有显示在真正的设备安卓2.3.6(姜饼)上。如何在真实设备上安装应用程序?只需复制到SD卡并安装此应用程序就足够了?所以请帮帮我,先谢谢你 <permission android:name="com.example.a

我开发了一个android应用程序来跟踪最近的ATM机。地图显示在android emulator 2.3.3(API 10)和android 4.3(API 18)上。在Emulator中,不显示用户当前位置。模拟器的目标不是谷歌API。但地图并没有显示在真正的设备安卓2.3.6(姜饼)上。如何在真实设备上安装应用程序?只需复制到SD卡并安装此应用程序就足够了?所以请帮帮我,先谢谢你

    <permission 
        android:name="com.example.atmtracker.permission.MAPS_RECEIVE"
        android:protectionLevel="signature"
        />

    <uses-permission android:name="com.example.atmtracker.permission.MAPS_RECEIVE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <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"/>
    <!-- show current location -->
    <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"/>        

    <uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="18" />


    <application
        android:allowBackup="true"
        android:debuggable="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.atmtracker.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"/> 
    <meta-data android:name="com.google.android.gms.version"
  android:value="@integer/google_play_services_version" />
    </application>

</manifest>
我的文件:

    <permission 
        android:name="com.example.atmtracker.permission.MAPS_RECEIVE"
        android:protectionLevel="signature"
        />

    <uses-permission android:name="com.example.atmtracker.permission.MAPS_RECEIVE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <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"/>
    <!-- show current location -->
    <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"/>        

    <uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="18" />


    <application
        android:allowBackup="true"
        android:debuggable="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.atmtracker.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"/> 
    <meta-data android:name="com.google.android.gms.version"
  android:value="@integer/google_play_services_version" />
    </application>

</manifest>
MainActivity.java

    <permission 
        android:name="com.example.atmtracker.permission.MAPS_RECEIVE"
        android:protectionLevel="signature"
        />

    <uses-permission android:name="com.example.atmtracker.permission.MAPS_RECEIVE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <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"/>
    <!-- show current location -->
    <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"/>        

    <uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="18" />


    <application
        android:allowBackup="true"
        android:debuggable="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.atmtracker.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"/> 
    <meta-data android:name="com.google.android.gms.version"
  android:value="@integer/google_play_services_version" />
    </application>

</manifest>
Manifest.xml

    <permission 
        android:name="com.example.atmtracker.permission.MAPS_RECEIVE"
        android:protectionLevel="signature"
        />

    <uses-permission android:name="com.example.atmtracker.permission.MAPS_RECEIVE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <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"/>
    <!-- show current location -->
    <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"/>        

    <uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="18" />


    <application
        android:allowBackup="true"
        android:debuggable="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.atmtracker.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"/> 
    <meta-data android:name="com.google.android.gms.version"
  android:value="@integer/google_play_services_version" />
    </application>

</manifest>

xml::

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
 tools:context=".MainActivity">
<fragment 
    android:id="@+id/map"
    android:name="com.google.android.gms.maps.SupportMapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>
 </RelativeLayout>
    <permission 
        android:name="com.example.atmtracker.permission.MAPS_RECEIVE"
        android:protectionLevel="signature"
        />

    <uses-permission android:name="com.example.atmtracker.permission.MAPS_RECEIVE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <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"/>
    <!-- show current location -->
    <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"/>        

    <uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="18" />


    <application
        android:allowBackup="true"
        android:debuggable="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.atmtracker.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"/> 
    <meta-data android:name="com.google.android.gms.version"
  android:value="@integer/google_play_services_version" />
    </application>

</manifest>

logcat错误: 未能找到com.google.android.gsf.gsservices的提供商信息

    <permission 
        android:name="com.example.atmtracker.permission.MAPS_RECEIVE"
        android:protectionLevel="signature"
        />

    <uses-permission android:name="com.example.atmtracker.permission.MAPS_RECEIVE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <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"/>
    <!-- show current location -->
    <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"/>        

    <uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="18" />


    <application
        android:allowBackup="true"
        android:debuggable="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.atmtracker.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"/> 
    <meta-data android:name="com.google.android.gms.version"
  android:value="@integer/google_play_services_version" />
    </application>

</manifest>
正确的代码:
在我更改代码后,我在设备上获得了地图。 无需将API_密钥放在两个位置。只要把它放在应用程序标签上。 将应用程序发布到公共位置时,从清单文件中删除“android:debuggable=“true”行。 在清单文件中使用com.google.android.providers.gsf.permission.READ\u GSERVICES权限而不是com.google.android.providers.gsf.permission。
主要活动没有变化 清单文件中的一些更改

    <permission 
        android:name="com.example.atmtracker.permission.MAPS_RECEIVE"
        android:protectionLevel="signature"
        />

    <uses-permission android:name="com.example.atmtracker.permission.MAPS_RECEIVE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <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"/>
    <!-- show current location -->
    <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"/>        

    <uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="18" />


    <application
        android:allowBackup="true"
        android:debuggable="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.atmtracker.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"/> 
    <meta-data android:name="com.google.android.gms.version"
  android:value="@integer/google_play_services_version" />
    </application>

</manifest>


您是否检查了设备是否安装了Google Play服务?另外,请检查是否有更新。我通过从RealDevice获取备份将Google play服务安装到emulator。我不知道您的问题是否是由此引起的,但请尝试使用
class
属性,而不是
android:name
(如您在此处所见:)我改为类,但地图不会显示在真实的设备上。但它在模拟器上显示得非常完美。是否有将应用程序安装到设备的步骤?请帮助我?