私は、サーバーに接続して通信するAndroidアプリケーションを持っています。もともと、このアプリはminSdkバージョン8(Android 2.2)で構築されていて、完璧に機能していました。私は4.03を実行しているデバイスがあるので、minSdk 15バージョンを作成することにしました。これは、サーバーに接続しようとするたびにアプリケーションがクラッシュする原因となりました。Android SDKのバージョンを変更するとクラッシュする
問題の原因を見つけるためにできるだけアプリを削除しました。私は問題をSocketを初期化する関数に絞り込んだ。この関数がアプリケーションを実行しようとするたびにクラッシュします。
minSdkのバージョンを8に変更すると、完全に機能します。しかし、私が試した他のバージョンでは動作しません(10,14,15)。私はバージョンで何が変わったのか分からないが、これはmisSDK 8でしか機能しないことが奇妙に思える。何が原因か何が変わる可能性があるか?私は(!あなたのlogcat出力をポスト)確かに言うことはできませんが、私の最高の推測では、あなたがUIスレッド上の接続をしようとしていることである
// 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();
}
}
logcat stacktraceはどこですか? –