我的android应用程序赢了';t在2台设备上运行,但在emulator上工作

我的android应用程序赢了';t在2台设备上运行,但在emulator上工作,android,maps,avd,Android,Maps,Avd,我正在编写一个应用程序,在登录屏幕后立即显示谷歌地图。 构建目标设置为2.3,我的设备运行: 1) 三星Galaxy Ace(2.3.4) 2) Motorolla Xoom(3.1) 我在Android emulator上试用了我的应用程序,它运行得很好。登录和地图显示 当我在计算机上通过USB连接这两个设备并选择它们运行应用程序时(注意:选择时,构建目标旁边有一个橙色警告标志),登录屏幕显示正常,当我单击“登录”时,应用程序在Motorolla上崩溃并冻结一段时间,然后在我的Galaxy A

我正在编写一个应用程序,在登录屏幕后立即显示谷歌地图。 构建目标设置为2.3,我的设备运行:

1) 三星Galaxy Ace(2.3.4) 2) Motorolla Xoom(3.1)

我在Android emulator上试用了我的应用程序,它运行得很好。登录和地图显示

当我在计算机上通过USB连接这两个设备并选择它们运行应用程序时(注意:选择时,构建目标旁边有一个橙色警告标志),登录屏幕显示正常,当我单击“登录”时,应用程序在Motorolla上崩溃并冻结一段时间,然后在我的Galaxy Ace上什么也不做

请注意,它们都可以连接到internet

通过USB连接运行应用程序时设备的Logcat:

1) 三星银河王牌

04-06 00:24:21.599: I/InputReader(162): dispatchTouch::touch event's action is 0
04-06 00:24:21.599: I/InputDispatcher(162): Delivering touch to current input target: action: 0, channel '40796920 com.cylbs.android/com.cylbs.android.MainActivity (server)'
04-06 00:24:21.699: I/InputReader(162): dispatchTouch::touch event's action is 1
04-06 00:24:21.699: I/InputDispatcher(162): Delivering touch to current input target: action: 1, channel '40796920 com.cylbs.android/com.cylbs.android.MainActivity (server)'
04-06 00:24:27.709: W/PowerManagerService(162): Timer 0x3->0x3|0x1
04-06 00:24:28.559: D/BatteryService(162): update start
04-06 00:24:28.569: D/BatteryService(162): update start
04-06 00:24:28.579: D/BatteryService(162): update start
2) 摩托罗拉酒店

04-06 00:27:13.490: D/AndroidRuntime(3163): Shutting down VM
04-06 00:27:13.490: W/dalvikvm(3163): threadid=1: thread exiting with uncaught exception (group=0x40154760)
04-06 00:27:13.510: E/AndroidRuntime(3163): FATAL EXCEPTION: main
04-06 00:27:13.510: E/AndroidRuntime(3163): android.os.NetworkOnMainThreadException
04-06 00:27:13.510: E/AndroidRuntime(3163):     at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1077)
04-06 00:27:13.510: E/AndroidRuntime(3163):     at dalvik.system.BlockGuard$WrappedNetworkSystem.connect(BlockGuard.java:368)
04-06 00:27:13.510: E/AndroidRuntime(3163):     at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:208)
04-06 00:27:13.510: E/AndroidRuntime(3163):     at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:431)
04-06 00:27:13.510: E/AndroidRuntime(3163):     at java.net.Socket.connect(Socket.java:901)
04-06 00:27:13.510: E/AndroidRuntime(3163):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:75)
04-06 00:27:13.510: E/AndroidRuntime(3163):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:48)
04-06 00:27:13.510: E/AndroidRuntime(3163):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection$Address.connect(HttpConnection.java:304)
04-06 00:27:13.510: E/AndroidRuntime(3163):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionPool.get(HttpConnectionPool.java:89)
04-06 00:27:13.510: E/AndroidRuntime(3163):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getHttpConnection(HttpURLConnectionImpl.java:292)
04-06 00:27:13.510: E/AndroidRuntime(3163):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.makeConnection(HttpURLConnectionImpl.java:274)
04-06 00:27:13.510: E/AndroidRuntime(3163):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:217)
04-06 00:27:13.510: E/AndroidRuntime(3163):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:624)
04-06 00:27:13.510: E/AndroidRuntime(3163):     at com.cylbs.android.MainActivity.tryLogin(MainActivity.java:65)
04-06 00:27:13.510: E/AndroidRuntime(3163):     at com.cylbs.android.MainActivity$1.onClick(MainActivity.java:41)
04-06 00:27:13.510: E/AndroidRuntime(3163):     at android.view.View.performClick(View.java:3110)
04-06 00:27:13.510: E/AndroidRuntime(3163):     at android.view.View$PerformClick.run(View.java:11928)
04-06 00:27:13.510: E/AndroidRuntime(3163):     at android.os.Handler.handleCallback(Handler.java:587)
04-06 00:27:13.510: E/AndroidRuntime(3163):     at android.os.Handler.dispatchMessage(Handler.java:92)
04-06 00:27:13.510: E/AndroidRuntime(3163):     at android.os.Looper.loop(Looper.java:132)
04-06 00:27:13.510: E/AndroidRuntime(3163):     at android.app.ActivityThread.main(ActivityThread.java:4025)
04-06 00:27:13.510: E/AndroidRuntime(3163):     at java.lang.reflect.Method.invokeNative(Native Method)
04-06 00:27:13.510: E/AndroidRuntime(3163):     at java.lang.reflect.Method.invoke(Method.java:491)
04-06 00:27:13.510: E/AndroidRuntime(3163):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
04-06 00:27:13.510: E/AndroidRuntime(3163):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
04-06 00:27:13.510: E/AndroidRuntime(3163):     at dalvik.system.NativeStart.main(Native Method)
和主页活动(扩展MapActivity)

有什么想法吗?思想? 现在就这些了。 非常感谢你

附言。
我是一名新的android开发人员。

我假设您正在使用一个Differente Maps API密钥来模拟应用程序,并使用另一个不同的MD5签名在设备上运行应用程序。查看。

如果其他人也有同样的问题,我想我已经找到了解决办法

我在LogCat中查找了错误:

04-06 00:27:13.510: E/AndroidRuntime(3163): android.os.NetworkOnMainThreadException
据此,

一些(较新的)android版本似乎不允许在MainActivity或类似的东西中请求internet连接


尽管我的目标是android版本10(2.3),但仍然存在错误,因此我将项目目标更改为版本8,现在似乎可以正常工作。

橙色警告标志是什么意思?Logcat崩溃时出现了什么错误?你说它在王牌上什么都不做是什么意思?我不知道你到底是什么意思。它在任何其他实际设备上工作吗?在我所有的应用程序都可以正常工作的几部手机旁边有一个黄色警告图标,所以我想这不是问题所在。+1对于这一点,通常地图活动看起来就像一个空白网格,但这是一个很好的地方start@Pelanes我不太明白你的意思。因为它是同一个应用程序,在emulator上运行的代码相同,在我的两台设备上运行的代码完全相同。。。另外请注意,当我第一次生成MapsAPI键时,我得到的只是灰色网格(在我的模拟器上,仍然不能在设备上运行)。然后,我在YouTube上看到了CornBoyzAndroid教程,我创建了一个Maps API密钥进行调试,该密钥允许我的地图在模拟器上完美加载,但在我的设备上仍然无法工作。@RobLourens橙色符号是:在Ace上,当我单击“登录”(地图之前的步骤)时,它根本没有响应,然后它回应,但好像我什么都没按。如果我再按一次,它就会再次发生。它不会弹出“强制关闭”消息。不过摩托罗拉是。。。Ace不会在LogCat上放弃任何错误。。。摩托罗拉给了我一些,但我真的不明白。我将它们保存在两个不同的.txt文件中。在下面下载它们。您需要一个不同的Maps API键来查看真实手机中的地图,一个不同于用于去bug的键。阅读我之前发布的链接,你需要知道你的电脑MD5签名,你将使用什么密钥库来使用apk,然后运行msdos程序来获取此地图密钥。请在你的问题中发布你上面链接到的RAR的内容!:)
package com.cylbs.android;

import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class Home extends MapActivity {

    MapController mControl;
    GeoPoint geoP;
    MapView mapV;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.home);

        mapV = (MapView) findViewById(R.id.mapView);
        mapV.displayZoomControls(true);
        mapV.setBuiltInZoomControls(true);

        double lat = 40.8;
        double longi = -96.666;

        geoP = new GeoPoint((int) (lat *1E6), (int) (longi *1E6));

        mControl = mapV.getController();
        mControl.animateTo(geoP);
        mControl.setZoom(13);


        Button emergencies = (Button) findViewById(R.id.emergencyButton);
        emergencies.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent myIntent = new Intent(Home.this, EmergencyList.class);
                Home.this.startActivity(myIntent);
            }
        });
        Button disruptions = (Button) findViewById(R.id.disruptionButton);
        disruptions.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent myIntent2 = new Intent(Home.this, DisruptionList.class);
                startActivity(myIntent2);
            }
        });
    }

    @Override
    protected boolean isRouteDisplayed() {
        // TODO Auto-generated method stub
        return false;
    }
}
04-06 00:27:13.510: E/AndroidRuntime(3163): android.os.NetworkOnMainThreadException