2017-05-25 34 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文件中的冲突。

相关问题