更改Android SDK版本会导致崩溃

时间:2012-04-03 22:03:02

标签: android string sockets networking sdk

我有一个连接服务器并与服务器通信的Android应用程序。最初的应用程序是使用minSdk版本8(Android 2.2)构建的,它运行得很好。我有一台运行4.03的设备,所以我决定创建一个minSdk 15版本。这导致我的应用程序每次尝试连接到服务器时都会崩溃。

我尽可能地删除了应用程序以找到问题的根源。我将问题缩小到我初始化Socket的函数。每当此函数尝试运行应用程序崩溃时。

如果我将minSdk版本更改为8,它可以完美运行。但它不适用于我尝试过的任何其他版本(10,14,15)。我不知道版本中发生了什么变化,但这似乎很奇怪,这只适用于misSdk 8.什么可能导致这个或什么可以改变?

以下是一些代码:

// Function that seems to cause problems
public void openConnection(){
    try{
        s = new Socket(InetAddress.getByName("192.168.1.84"),1500);
    }catch(IOException e){
e.printStackTrace();
    }
}
// Button handler
public void myClickHandler(View view){
    switch(view.getId()){
    case R.id.ConnectButton:
        this.openConnection();
    }
}

1 个答案:

答案 0 :(得分:1)

我不能肯定地说(发布你的logcat输出!),但我最好的猜测是你试图在UI线程上建立连接并且ICS正在崩溃你的应用程序(因为它应该,因为它试图连接到UI线程上的Web服务器几乎肯定是您的应用程序无法正常运行的保证)。确保使用AsyncTaskThread建立连接。我见过很多开发人员遇到类似问题并且通常与此问题有关。