2016-08-04 14 views
0

私のアプリケーションでoutofmemory例外のエラーがあります。私は以下のように私のbuild.gradleにdexoptionsのこのコードを追加しましたが、うまくいきません。 Androidのスタジオバージョン2.1.1ではOutofMemory Android Studio 2.1.2のGradle dexoptionでのエラー例外

apply plugin: 'com.android.application' 

    android { 
     compileSdkVersion 23 
     buildToolsVersion "23.0.2" 
     useLibrary 'org.apache.http.legacy' 


     defaultConfig { 
      applicationId "Package name" 
      minSdkVersion 16 
      targetSdkVersion 23 
      versionCode 1 
      versionName "1.0" 

      multiDexEnabled true 

     } 
     buildTypes { 
      release { 
       minifyEnabled false 
       proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
      } 
     } 
     sourceSets { 
      main.java.srcDirs += 'src/main/facebooka' 
     } 

     dexOptions { 
      incremental = true; 
      preDexLibraries = false 
      javaMaxHeapSize "2g" // 2g should be also OK 
     } 
     /* dexOptions 
       { 
        incremental true 
        javaMaxHeapSize "2048M" 
        preDexLibraries = false 
       }*/ 
    } 

    dependencies { 
     compile project(':library1') 
     compile project(':facebooka') 

     compile 'com.android.support:support-v4:23.1.1' 
     compile 'com.android.support:appcompat-v7:23.1.1' 
     compile files('libs/YouTubeAndroidPlayerApi.jar') 
     compile 'com.android.support:design:23.1.1' 

     compile 'com.google.android.gms:play-services:8.4.0' 


     compile 'com.android.support:multidex:1.0.1' 
     compile 'com.devfigas:marshmallow-permission:0.0.9' 

    } 

このコードが正常に動作しますが、私は、バージョン2.1.2で同じコードをしようとしたとき

dexOptions { 
      incremental = true; 
      preDexLibraries = false 
      javaMaxHeapSize "2g" // 2g should be also OK 
     } 
+1

これは、あまりにも多くのメモリを使用していることを意味します。メモリにロードされているリソースの数を減らそうとする必要があります。デバイスが2Gを手元に持たない場合、ヒープ2Gを作ることで魔法のような問題は解決しません。 – litelite

+0

**すべての** Googleプレイサービスを追加しないでください。それが問題を解決するかどうかを確認してください –

+0

あなたは、アプリケーションを構築している間、あなたのアプリまたはあなたのPCにOutOfMemoryを持っていますか? Dexoptionsは、ビルド中にOOMが発生した場合にのみ機能します。 – Christopher

答えて

0

は、アプリケーションの下にあなたのマニフェストにこの行を追加しよう:

<application 
    android:largeHeap="true" > 
</application> 
関連する問題