Android Gradle SourceSet资源不复制基础目录

时间:2016-02-23 20:57:33

标签: android gradle android-gradle

我目前正在通过gradle自动化android构建,但我的build.gradle文件并没有将整个res /或assets / dirs复制到我制作的apk中。

澄清: 所需内容res/& assets/ dirs被复制到apk中,但实际的res/assets/ dirs无处可寻。为了使这种自动化与现有的手动过程相匹配,我需要从手动构建过程到自动构建过程的无缝过渡。 (制作apk没有区别)

我知道我必须如何处理源设备和资源,但我找不到任何关于我做错的方向/建议。

这是我的build.gradle文件:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "22"

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src','../res','../assets']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

    }

    defaultConfig {
        applicationId "***************"
        minSdkVersion 19
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            zipAlignEnabled true
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            debuggable true
            zipAlignEnabled true
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

我的目录结构(松散地表示):

AppBase/
+res/
+assets/
-gradle files
+AndroidApp
    +src/
    -gradle files

1 个答案:

答案 0 :(得分:0)

我认为你应该做这样的事情,不过,我对相对路径不太确定。

sourceSets {
    main {
        manifest.srcFile 'AndroidManifest.xml'
        java.srcDirs = ['src']
        resources.srcDirs = ['src']
        aidl.srcDirs = ['src']
        renderscript.srcDirs = ['src']
        res.srcDirs = ['res','../res']
        assets.srcDirs = ['assets', '../assets']
    }
}