Google Map V2无法正常工作 - 在我的Android设备上 - Nexus 4

时间:2014-01-06 14:20:03

标签: android eclipse google-maps

需要你的帮助。我在解决以下错误时遇到了双重绑定问题。

当我查看“Android依赖项”&来自Java Build Path / Order& Sons的“私人库”。出口。 我得到错误 - “Java dex堆空间错误” - 我尝试在eclipse.ini文件中将XMAX大小增加到8536m - 但仍然存在Java dex堆空间错误。

当我取消检查“Android Dependencies”&来自Java build Path的“私有库”。 我得到“Java.lang.Class Not Found Exception - com.example.googlemaps.MainActivity

我正在使用JDK 1.7

在此处附上所有内容:

项目结构

enter image description here

enter image description here

Android Manifest:

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

<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<permission android:name="com.example.googlemaps.permission.MAPS_RECEIVE"           android:protectionLevel="signature"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />

<!-- Required to show current location -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<!-- Required OpenGL ES 2.0. for Maps V2 -->
<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.googlemaps.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>
</application> 

<!-- Goolge API Key -->
 <meta-data
    android:name="com.google.android.maps.v2.API_KEY"
    android:value="AIzaSyCOhACbfq4DORsY56MQF38FiKqXC0-A1wc" />

<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
</manifest>

MainActivity.Java

package com.example.googlemaps;

import com.google.android.gms.maps.GoogleMap;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;

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

public class MainActivity extends FragmentActivity {

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

activity_main.xml中

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

 <fragment
    android:name="com.google.android.gms.maps.SupportMapFragment"

    android:id="@+id/map"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
</LinearLayout>

的eclipse.ini

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20120913-144807
-product
com.android.ide.eclipse.adt.package.product
--launcher.XXMaxPermSize
8512M
-showsplash
com.android.ide.eclipse.adt.package.product
--launcher.XXMaxPermSize
8512m
--launcher.defaultAction
openFile
-vm
C:/Program Files (x86)/Java/jdk1.7.0_25/bin/javaw.exe
-Dosgi.requiredJavaVersion=1.6
-Xms8536m
-Xmx8536m
-Declipse.buildId=v22.0.5-757759

位于 dx.bat 位置:C:\ Users \ nikshrivastava \ Downloads \ adt-bundle-windows-x86-20130729 \ sdk \ build-tools \ _ android-4.3

:JarFileOk

set jarpath=%frameworkdir%%jarfile%

set javaOpts=
set args=

REM By default, give dx a max heap size of 1 gig and a stack size of 1meg.
rem This can be overridden by using "-JXmx..." and "-JXss..." options below.
set defaultXmx=-Xmx1624M
set defaultXss=-Xss1m

2 个答案:

答案 0 :(得分:0)

首先检查您的Java版本。如果不是1.6将其更新为1.6或1.7 第二:这可以通过增加位于Android SDK中的dx.jar的堆内存大小来解决。

这可以通过

完成
  

编辑dx.bat文件adt-bundle-windows-x86_64-20130729 \ adt-bundle-windows-x86_64-20130729 \ sdk \ build-tools \ _ android-4.3 \ dex.bat并更新其set defaultXmx = -Xmx1024M设置defaultXmx = -Xmx1624M

的值

如果这不起作用请检查此灵魂动作:

Conversion to Dalvik format failed: Unable to execute dex: Java heap space

答案 1 :(得分:0)

我尝试使用旧版本的&#34; Google Play服务库&#34;版本8 - 它成功运作。