ホームページ >Java >&#&チュートリアル >Android 12 で Android アプリが「エクスポートされた属性が指定されていません」エラーをスローするのはなぜですか?

Android 12 で Android アプリが「エクスポートされた属性が指定されていません」エラーをスローするのはなぜですか?

DDD
DDDオリジナル
2024-12-05 00:26:11559ブラウズ

Why is my Android app throwing an

このエラーは、アクティビティ、サービス、ブロードキャスト レシーバー、またはコンテンツ プロバイダーがエクスポートされた属性を明示的に指定していない場合に発生します。 Exported 属性は、コンポーネントを起動できるか、アプリケーション外部のコンポーネントによってバインドできるかどうかを指定します。

この問題を解決するには、Exported 属性を追加し、エクスポートしたすべてのコンポーネントに対して true に設定する必要があります。アプリケーションの外部からアクセスできるようにしたい。たとえば、別のアプリケーションから起動できるようにしたいアクティビティがある場合は、マニフェスト ファイルに次の行を追加します。

<activity
    android:name=".MainActivity"
    android:exported="true" />

このエラーは Android 12 で導入されました。開発者は、インテント フィルターが定義されているすべてのコンポーネントに対してエクスポートされた属性を明示的に指定する必要があります。これは、Android 12 には、exported 属性が明示的に true に設定されていない限り、コンポーネントが起動されたり、アプリケーション外のコンポーネントによってバインドされたりすることを防ぐ新しいセキュリティ機能があるためです。

その方法については、ステップバイステップのガイドをご覧ください。エラーを修正するには:

  1. アプリケーションのマニフェスト ファイル (AndroidManifest.xml) を開きます。
  2. エラーの原因となっているコンポーネント。
  3. エクスポートされた属性をコンポーネントに追加し、true に設定します。
  4. マニフェスト ファイルを保存し、アプリケーションを再構築します。

これらの変更を行うと、エラーは解決されるはずです。

以上がAndroid 12 で Android アプリが「エクスポートされた属性が指定されていません」エラーをスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。