Exception Infoの解決方法【2025年最新版】
エラーの概要・症状
Exception Info
というエラーメッセージは、主にAndroidアプリケーションの実行中に発生し、アプリが正常に動作しなくなることを示しています。このエラーは、特にHTTP通信を行う際に、Android 9以降のバージョンでクリアテキストトラフィックが許可されていない場合に発生することが多いです。
ユーザーは、アプリを起動した瞬間や特定の機能を使用しようとした際に突然エラーが表示され、アプリが強制終了することが多いため、非常に困惑します。このようなエラーが発生すると、ユーザー体験が大きく損なわれ、アプリの信頼性にも影響を与えます。
このエラーが発生する原因
Exception Info
エラーの主な原因は以下の通りです。
- クリアテキストトラフィックの制限: Android 9以降、デフォルトでHTTP通信が禁止されています。このため、HTTP経由でデータを取得しようとすると、
Exception Info
エラーが発生します。 ネットワークセキュリティ設定の不備: アプリの
AndroidManifest.xml
で適切なネットワークセキュリティ設定が行われていない場合、このエラーが発生します。特に、networkSecurityConfig
が正しく設定されていないと、HTTPトラフィックが許可されません。依存ライブラリの問題: 一部のサードパーティライブラリが古い場合、HTTP通信に関する設定が適切に行われていないことがあります。
SSL証明書の問題: HTTPS通信を行う場合、SSL証明書が正しく設定されていないと、通信エラーが発生し、最終的に
Exception Info
が表示されることがあります。アプリの権限設定: アプリがインターネットアクセスの権限を持っていない場合、通信ができずにエラーが発生します。
解決方法1(最も効果的)
手順1-1: ネットワークセキュリティ設定の追加
res/xml/network_security_config.xml
というファイルを新規作成します。以下の内容をファイルに追加します。ここでは、
api.example.com
を実際のドメインに置き換えてください。
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">api.example.com</domain>
</domain-config>
</network-security-config>
手順1-2: AndroidManifest.xmlの更新
AndroidManifest.xml
を開きます。<application></application>
タグ内に以下の属性を追加します。
<application
...
android:networkSecurityConfig="@xml/network_security_config"
...>
- また、以下の権限も確認してください。
<uses-permission android:name="android.permission.INTERNET" />
手順1-3: アプリの再ビルド
- 設定が完了したら、アプリを再ビルドして実行します。
注意点とトラブルシューティング
network_security_config.xml
のパスが正しいことを確認してください。- ドメイン名が正確であることを確認してください。
- エラーが解消されない場合は、キャッシュをクリアして再度試みてください。
解決方法2(代替手段)
手順の説明
もし上記の方法で解決しない場合、以下の手順を試してみてください。
コメント