2016-10-05 5 views
1

私は2つのモジュールを持つプロジェクトを持っています。それはbuild.gradleのデフォルトの設定が存在する:デバッグ用に異なるプロフェアファイルを追加する

buildTypes { 
     release { 
      minifyEnabled true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 

をそして、私は次のようにデバッグコンパイルのために別の構成(ProGuardのとにより縮小)を追加したい:私はこのコードを入れ

buildTypes { 
     release { 
      minifyEnabled true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
     debug { 
      minifyEnabled false 
      proguardFiles 'proguard-rules-debug.pro' 
     } 
    } 

私プロジェクト、それはコンパイルされません。ログには、別のモジュールへの参照ごとのメッセージエラーが表示されます。

Error:(37, 42) error: package com.example does not exist 

2つのモジュールの完全なグラード構成。

アプリモジュール:

buildscript { 
    repositories { 
     maven { url 'https://maven.fabric.io/public' } 
    } 

    dependencies { 
     ... 
    } 
} 

apply plugin: 'com.android.application' 
... 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.3" 

    defaultConfig { 
     ... 
     minSdkVersion 16 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.3" 
    } 
    buildTypes { 
     release { 
      minifyEnabled true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
     debug { 
      minifyEnabled false 
     } 
    } 
} 

repositories { 
    maven { 
     ... 
    } 
} 

repositories{ 
    maven { 
     url 'http://dl.bintray.com/amulyakhare/maven' 
    } 
} 

... 

dependencies { 
    ... 
} 

ライブラリモジュール:

buildTypes { 
      release { 
       minifyEnabled true 
       proguardFiles getDefaultProguardFile('proguard-project.txt'), 'proguard-rules.pro' 

      } 
      debug { 
       minifyEnabled true 
       proguardFiles getDefaultProguardFile('proguard-project.txt'), 'proguard-rules-debug.pro' 
      } 
     } 

別の方法としては、ビルドにルールファイルを入れてみてくださいでした:私は次のようにしようとするだろう

apply plugin: 'com.android.library' 

android { 
    compileSdkVersion 24 
    buildToolsVersion "24.0.1" 

    defaultConfig { 
     ... 
    } 
    buildTypes { 
     release { 
      minifyEnabled true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
     debug { 
      minifyEnabled false 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    ... 
} 
+0

このリンクをチェックすることができます。それはあなたを助けるかもしれません。 http://stackoverflow.com/questions/35657886/how-can-i-use-different-proguard-files-in-different-flavors-or-for-different-bui –

答えて

1

タイプフォルダ? proguard-rules.proファイルをbuild-types/releaseフォルダに入れ、proguard-rules-debug.proファイルをbuild-types/debugフォルダに入れることができます。

+0

あなたが 'minifyEnabled false'を設定した場合、proguardは適用されません – parohy

+0

はい、あなたは正しいです、タイプミス、それを修正しました。 –

関連する問題