Hello World Map(ArcGIS) - Eclipse的模拟器无法正常运行ArcGIS应用程序

时间:2012-10-17 05:39:19

标签: android eclipse emulation arcgis

我按照tutorial’s步骤进行了操作。我将我的项目命名为“HelloWorld3”而不是“HelloWorld”。我仔细地按照所有步骤,在我的“HelloWorldActivity.java”中删除了已经存在的内容(默认情况下),它如下所示:

package com.esri.arcgis.android.samples.helloworld3;

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


import com.esri.android.map.MapView;


public class HelloWorld3Activity extends Activity {

    MapView mMapView ;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        mMapView = new MapView(this);

    }

    @Override 
    protected void onDestroy() { 
        super.onDestroy();
 }
    @Override
    protected void onPause() {
        super.onPause();
        mMapView.pause();
 }
    @Override   protected void onResume() {
        super.onResume(); 
        mMapView.unpause();
    }

}

我更改了之前的代码,并改为使用此代码:

public class HelloWorldActivity extends Activity {
    MapView map = null;

    /** Called when the activity is first created. */
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // Retrieve the map and initial extent from XML layout
        map = (MapView)findViewById(R.id.map);
        // Add dynamic layer to MapView
        map.addLayer(new ArcGISTiledMapServiceLayer("" +
        "http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"));

    }

    protected void onPause() {
        super.onPause();
        map.pause();
    }

    protected void onResume() {
        super.onResume();
        map.unpause();
    }
}

(我按照教程中提到的那样,但绝对把它命名为“HelloWorld3Activity”)

然后,我的代码变成了这样:

package com.esri.arcgis.android.samples.helloworld3;

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


import com.esri.android.map.MapView;


public class HelloWorld3Activity extends Activity {

    MapView map = null;

    /** Called when the activity is first created. */
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // Retrieve the map and initial extent from XML layout
        map = (MapView)findViewById(R.id.map);
        // Add dynamic layer to MapView
        map.addLayer(new ArcGISTiledMapServiceLayer("" +
        "http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"));

    }

    protected void onPause() {
        super.onPause();
        map.pause();
    }

    protected void onResume() {
        super.onResume();
        map.unpause();
    }

}

然而,“ArcGISTiledMapServiceLayer”下面有一个红色下划线!!

有什么问题?!我不知道该怎么做!

enter image description here

我尝试通过点击Ctrl + Shift + O>>来解决问题。更新丢失的导入(希望它能解决问题。 红色下划线消失了,我的代码变成了这样:

package com.esri.arcgis.android.samples.helloworld3;

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

import com.esri.android.map.MapView;
import com.esri.android.map.ags.ArcGISTiledMapServiceLayer;


public class HelloWorld3Activity extends Activity {

    MapView map = null;

    /** Called when the activity is first created. */
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // Retrieve the map and initial extent from XML layout
        map = (MapView)findViewById(R.id.map);
        // Add dynamic layer to MapView
        map.addLayer(new ArcGISTiledMapServiceLayer("" +
        "http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"));

    }

    protected void onPause() {
        super.onPause();
        map.pause();
    }

    protected void onResume() {
        super.onResume();
        map.unpause();
    }

}

之后,我试图运行它。我右键单击了我的项目“HelloWorld3”,然后点击了Run as> Android应用程序。 模拟器启动了,我找到了应用程序的图标。但是,当我点击它时,会出现这个屏幕(或窗口)。

enter image description here

有什么问题?! 请帮帮我!!

***这是我以前的相关问题“Eclipse's Emulator (ArcGIS Android App)?

我不确定,但我认为这是Logcat:

10-17 12:38:19.820: I/dalvikvm(557): threadid=3: reacting to signal 3
10-17 12:38:19.871: I/dalvikvm(557): Wrote stack traces to '/data/anr/traces.txt'
10-17 12:38:19.911: D/dalvikvm(557): Trying to load lib /data/data/com.esri.arcgis.android.samples.helloworld3/lib/libGLMapCore.so 0x412a6680
10-17 12:38:20.320: I/dalvikvm(557): threadid=3: reacting to signal 3
10-17 12:38:20.371: I/dalvikvm(557): Wrote stack traces to '/data/anr/traces.txt'
10-17 12:38:20.582: D/dalvikvm(557): Added shared lib /data/data/com.esri.arcgis.android.samples.helloworld3/lib/libGLMapCore.so 0x412a6680
10-17 12:38:20.601: W/ApplicationContext(557): Unable to create external cache directory
10-17 12:38:20.820: I/dalvikvm(557): threadid=3: reacting to signal 3
10-17 12:38:20.851: I/dalvikvm(557): Wrote stack traces to '/data/anr/traces.txt'
10-17 12:38:21.711: W/ApplicationContext(557): Unable to create external cache directory
10-17 12:38:22.021: D/libEGL(557): Emulator without GPU support detected. Fallback to software renderer.
10-17 12:38:22.021: D/libEGL(557): loaded /system/lib/egl/libGLES_android.so
10-17 12:38:22.101: W/dalvikvm(557): threadid=11: thread exiting with uncaught exception (group=0x409c01f8)
10-17 12:38:22.122: D/gralloc_goldfish(557): Emulator without GPU emulation detected.
10-17 12:38:22.132: E/AndroidRuntime(557): FATAL EXCEPTION: GLThread 75
10-17 12:38:22.132: E/AndroidRuntime(557): java.lang.IllegalArgumentException: No configs match configSpec
10-17 12:38:22.132: E/AndroidRuntime(557):  at com.esri.android.map.MapSurface$a.chooseConfig(Unknown Source)
10-17 12:38:22.132: E/AndroidRuntime(557):  at android.opengl.GLSurfaceView$EglHelper.start(GLSurfaceView.java:1009)
10-17 12:38:22.132: E/AndroidRuntime(557):  at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1362)
10-17 12:38:22.132: E/AndroidRuntime(557):  at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1216)
10-17 12:38:29.820: D/dalvikvm(557): GC_CONCURRENT freed 320K, 5% free 9217K/9607K, paused 6ms+8ms
10-17 12:38:31.741: I/Process(557): Sending signal. PID: 557 SIG: 9
10-17 12:38:38.980: I/dalvikvm(585): threadid=3: reacting to signal 3
10-17 12:38:39.121: I/dalvikvm(585): Wrote stack traces to '/data/anr/traces.txt'
10-17 12:38:39.371: D/dalvikvm(585): Trying to load lib /data/data/com.esri.arcgis.android.samples.helloworld3/lib/libGLMapCore.so 0x4129e4c8
10-17 12:38:39.490: I/dalvikvm(585): threadid=3: reacting to signal 3
10-17 12:38:39.532: I/dalvikvm(585): Wrote stack traces to '/data/anr/traces.txt'
10-17 12:38:39.892: D/dalvikvm(585): Added shared lib /data/data/com.esri.arcgis.android.samples.helloworld3/lib/libGLMapCore.so 0x4129e4c8
10-17 12:38:39.900: W/ApplicationContext(585): Unable to create external cache directory
10-17 12:38:40.001: I/dalvikvm(585): threadid=3: reacting to signal 3
10-17 12:38:40.033: I/dalvikvm(585): Wrote stack traces to '/data/anr/traces.txt'
10-17 12:38:40.501: I/dalvikvm(585): threadid=3: reacting to signal 3
10-17 12:38:40.530: W/ApplicationContext(585): Unable to create external cache directory
10-17 12:38:40.562: I/dalvikvm(585): Wrote stack traces to '/data/anr/traces.txt'
10-17 12:38:40.780: D/libEGL(585): Emulator without GPU support detected. Fallback to software renderer.
10-17 12:38:40.780: D/libEGL(585): loaded /system/lib/egl/libGLES_android.so
10-17 12:38:40.911: D/gralloc_goldfish(585): Emulator without GPU emulation detected.
10-17 12:38:40.921: W/dalvikvm(585): threadid=11: thread exiting with uncaught exception (group=0x409c01f8)
10-17 12:38:40.971: E/AndroidRuntime(585): FATAL EXCEPTION: GLThread 78
10-17 12:38:40.971: E/AndroidRuntime(585): java.lang.IllegalArgumentException: No configs match configSpec
10-17 12:38:40.971: E/AndroidRuntime(585):  at com.esri.android.map.MapSurface$a.chooseConfig(Unknown Source)
10-17 12:38:40.971: E/AndroidRuntime(585):  at android.opengl.GLSurfaceView$EglHelper.start(GLSurfaceView.java:1009)
10-17 12:38:40.971: E/AndroidRuntime(585):  at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1362)
10-17 12:38:40.971: E/AndroidRuntime(585):  at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1216)
10-17 12:38:41.011: I/dalvikvm(585): threadid=3: reacting to signal 3
10-17 12:38:41.041: I/dalvikvm(585): Wrote stack traces to '/data/anr/traces.txt'
10-17 12:38:42.511: D/dalvikvm(585): GC_CONCURRENT freed 306K, 4% free 9231K/9607K, paused 20ms+123ms
10-17 12:38:54.530: I/Process(585): Sending signal. PID: 585 SIG: 9

1 个答案:

答案 0 :(得分:2)

最初发布ArcGIS API for Android时,由于缺乏OpenGL ES 2.0支持,仿真器不支持它。然而,这已经改变了。看看this。您可能需要对目标环境进行一些更改/安装一些其他软件包。