67

古いプロジェクトを Eclipse からインポートして Gradle を使用し、Android Studio v0.1.3 にインポートするために数時間格闘した後...実際にコマンド ラインでビルドを実行できるようになりましたが、ビルドを実行すると/スタジオでプロジェクトを再構築すると、次のようになります。

Gradle: 

FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring project ':EpicMix'.
> Failed to notify project evaluation listener.
   > A problem occurred configuring project ':facebook'.
      > Failed to notify project evaluation listener.
         > java.lang.OutOfMemoryError: PermGen space

これは巨大なプロジェクトではなく、いくつかの小さなサブプロジェクト (Facebook を含む) があるため、実際にはメモリではないと思います。これが何なのかさっぱり分からない…

4

10 に答える 10

43

PermGen スペースのサイズは、Android Studio 内の [ファイル] > [設定] > [コンパイラ] で増やすことができます。「追加のコンパイラ プロセス VM オプション」という名前の設定を探します。次のパラメーターを追加するだけです。

-XX:MaxPermSize=512M

デフォルト値は 92M です。値をギガバイト単位で指定する場合は、G を使用します。

于 2013-07-11T14:24:05.717 に答える
14

Mac OS X を使用している場合は、ファイル内の MaxPermSize を増やすことができます

/Applications/Android Studio.app/bin/idea.vmoptions
于 2013-06-24T16:40:46.373 に答える
12

PermGen の最大サイズなどの JVM 引数を設定する推奨される方法は、http://tools.android.com/tech-docs/configurationのアドバイスに従うことです。

Android Studio 2.0 以降

Android Studio 2.0 以降、IDE から構成ファイルに直接アクセスするオプションがあります。

Help->Edit Custom VM Optionsメニュー をご利用ください。ここに画像の説明を入力

構成ページから取得した、JVM 引数の完全なセットとそのデフォルト値は次のとおりです。

-Xms128m -Xmx750m -XX:MaxPermSize=350m -XX:ReservedCodeCacheSize=96m -XX:+UseCompressedOops

従来の手順:

独自のstudio.vmoptionsファイルを作成し、JVM 設定をここに配置する必要があります。ファイルの場所は次のとおりです。

  • Mac OS ~/Library/Preferences/AndroidStudio/studio.vmoptions
  • Linux ~/.AndroidStudio/studio.vmoptions (または ~/.AndroidStudio/studio64.vmoptions)
  • Windows: %USERPROFILE%.AndroidStudio\studio.exe.vmoptions (または %USERPROFILE%.AndroidStudio\studio64.exe.vmoptions)

AndroidStudio アプリ ディレクトリ内のファイルは、IDE への新しいインストール/更新ごとに上書きされるため、編集しないでください。

于 2015-05-15T06:55:26.693 に答える
4

また、これは私にとってはうまくいきました-Linuxを使用している場合は、環境変数 GRADLE_OPTS を「-XX:MaxPermSize=512m」(または任意のサイズ)に設定するだけです。

于 2014-07-23T08:52:35.057 に答える
2

ファイルを作成してから、以下を追加できgradle.propertiesます。

を作成または編集し~/.gradle/gradle.propertiesて、以下を含めます

org.gradle.daemon=false
GRADLE_OPTS="-Xmx2048m -Xms2048m -XX:MaxPermSize=1024m"
org.gradle.jvmargs=-XX:MaxPermSize=1024m
于 2016-06-15T18:18:28.197 に答える
1

Try adding this to your gradle.properties:

 org.gradle.jvmargs=-XX:MaxPermSize=512m -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -XX:+HeapDumpOnOutOfMemoryError -Xmx1024m -Dfile.encoding=utf-8
于 2015-05-05T23:19:51.027 に答える
0

Mac では ~/.gradle に移動し、キャッシュとデーモン フォルダーの両方を削除します。これらは再生されます。

于 2016-03-17T19:15:19.820 に答える
0

Gradle ビルド ファイルで、test {} ブロック内に次の jvmArgs を追加して、perm-gen 領域の割り当てを増やします。

test {
    jvmArgs "-XX:MaxPermSize=1024m"
}
于 2016-09-19T12:09:28.313 に答える
0

ビルドまたはクリーンアップのたびに、いくつかの Java プロセスが開始され、メモリ不足エラーが発生します。

ブルート フォース ソリューション:

ビルドまたは実行の前に java.exe プロセスを強制終了します。これは、Java で動作する他のアクティブなアプリケーションに副作用をもたらします。

[Android Studio 1.4 - JRE 1.7.0_75-b13]

于 2015-10-14T12:38:57.683 に答える