2017-05-25 33 views
0

我有一個應用程序模塊和一個我用作庫的模塊 - 我仍在對庫進行更改,因此不會進行預編譯。庫模塊有它自己的res文件夾,我想與主應用程序的res文件夾分開。我相信實現這一目標的唯一方法是在將庫包含在主應用程序中之前將庫打包爲aar。如果我可以運行單個Gradle構建來打包庫幷包含它,那將很方便。這可能嗎?如何將模塊編譯爲AAR並將其包含在一個構建的項目中?

gradle.build的應用程序(它編寫的 「我的圖書館」):

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 25 
    buildToolsVersion "25.0.3" 

    defaultConfig { 
     applicationId "com.app.id" 
     minSdkVersion 18 
     targetSdkVersion 25 
     versionCode 5 
     versionName "1.4" 
    } 

    sourceSets { 
     main { 
      assets.srcDirs = [project.ext.ASSET_DIR] 
     } 
    } 

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

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    testCompile 'junit:junit:4.12' 
    compile project(':my-library') 
} 

gradle.build我的圖書館:

apply plugin: 'com.android.library' 

android { 
    compileSdkVersion 25 
    buildToolsVersion "25.0.3" 

    defaultConfig { 
     minSdkVersion 18 
     targetSdkVersion 25 
    } 

    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
     } 
    } 
} 
+0

我自己的解決方案是:刪除module/build/output/aar/*。aar並構建模塊。 –

回答

0

事實證明,Android的工作室是足夠聰明用res文件夾處理庫模塊。我的錯誤來自Manifest文件中的衝突。

相關問題