Microsoft Defenderの例外を追加して、Androidのビルドパフォーマンスを高速化

このガイドでは、Windows機械を使用してAndroidアプリを開発する際のビルド時間を短縮するために、Microsoft Defenderのセキュリティ設定で除外を設定する方法について説明します。

Microsoft Defenderのアンチウイルスの概要

Windows 10バージョン1703以降では、Microsoft Defender AntivirusアプリはWindows Securityの一部です。 Microsoft Defenderは、ウイルス、ランサムウェア、スパイウェア、およびその他のセキュリティ脅威からリアルタイムで保護することで、PCを安全に保つことを目的としています。

しかし、Microsoft Defenderのリアルタイム保護は、Androidアプリの開発時にファイルシステムへのアクセスを大幅に遅くし、速度を上げることにもなります。

Android のビルド プロセス中には、多数のファイルがコンピューター上に作成されます。 ウイルス対策のリアルタイム スキャンが有効になっていると、新しいファイルが作成されるたびに、そのファイルがウイルス対策によってスキャンされている間ビルド プロセスは停止します。

幸いなことに、Microsoft Defenderは、アンチウイルススキャンプロセスから安全であることがわかっているファイル、プロジェクトディレクトリ、またはファイルタイプを除外する機能を備えています。

警告

コンピュータが悪意のあるソフトウェアから安全であることを確認するには、リアルタイムスキャンまたはMicrosoft Defenderのアンチウイルスソフトウェアを完全に無効にしないでください。 除外を定義すると、Defender によって提供される保護が低下します。 常に、除外の実装に関連したリスクを評価し、悪意がないことを確信できるファイルのみを除外する必要があります。

Microsoft Defenderにアンチウイルス除外を追加する方法

Microsoft Defender Security Centerに除外項目を追加するには:

  1. Windows メニューの [スタート] ボタンを選択します。
  2. Windows セキュリティ」と入力します。
  3. [ウイルスと脅威の防止] を選択します。
  4. [ウイルスと脅威防止の設定][設定の管理] を選択します。
  5. [除外] 見出しまでスクロールして [除外の追加または削除] を選択します。
  6. [+ 除外の追加] を選択します。 次に、追加する除外が [ファイル][フォルダー][ファイルの種類][プロセス] のいずれであるかを選択する必要があります。

Microsoft Defender Add Exclusion screenshot

Android 開発で考慮すべき除外

Microsoft Defender Antivirusの除外項目は控えめに使用してください。 除外の使用の詳細については、「Microsoft Defender Antivirusのカスタム除外の設定」を参照してください。

Microsoft Defender Antivirusは、ユーザー環境変数ではなくシステム環境変数から情報を取得するローカルシステムアカウントを使用して、システムユーザーのコンテキスト内のユーザー環境変数を解釈します。 ファイル名とフォルダパスまたは拡張子除外リストのワイルドカードとしての不正な環境変数の使用を参照してください。 システム環境変数のリストは、Microsoft Defender for Endpointのドキュメントで確認できます。 ファイル名とフォルダパスまたは拡張子除外リストでワイルドカードを使用することもできます。 ここでは、ファイル名またはフォルダパス除外リストで項目を定義するときに、アスタリスク* 、疑問符? 、または環境変数(%ALLUSERSPROFILE%など)をワイルドカードとして使用する方法について説明します。 これらのワイルドカードの解釈方法は、他のアプリや言語での通常の使用方法とは異なります。

Microsoft Defender Antivirusは、すべてのユーザープロファイルに適用されるワイルドカード式ではなく、%USERPROFILE%C:\Windows\system32\config\systemprofileに展開します。 %USERPROFILE%の代わりに、単一のユーザーシナリオでは、事前に拡張されたユーザー環境変数を使用します。 例: "${env:UserProfile}\AndroidStudioProjects" または、すべてのユーザーのシナリオでは、次のようなワイルドカードパターンを使用します。 "%SystemDrive%\Users\*\AndroidStudioProjects" Android Studioプロジェクトファイルを含めます。

検討することが推奨されるその他の除外には、次のものがあります。

  • Visual Studio 開発環境プロセス: devenv.exe
  • Visual Studio ビルド プロセス: msbuild.exe
  • JetBrains ディレクトリ: %LOCALAPPDATA%\JetBrains\<Transient directory (folder)>

ウイルス対策スキャンの除外を追加する方法 (グループ ポリシーによって制御される環境のディレクトリの場所をカスタマイズする方法を含む) の詳細については、Android Studio のドキュメントのウイルス対策による影響のセクションを参照してください。

除外を追加すると、Defender によって提供される保護が低下することに注意してください。 常に、除外の実装に関連したリスクを評価し、悪意がないことを確信できるファイルのみを除外する必要があります。

Note

Daniel Knoodleは、Visual Studio 2017のMicrosoft Defender除外を追加する推奨スクリプトを含むGitHubレポをセットアップしました。