首页 > 解决方案 > 如何让所有 Android Studio 3.5 源文件不在项目树中的通常位置,而是在单独的驱动器上

问题描述

我想将我的 java 源文件(即我将创建或编辑的那些)保存在外部或第二个内部驱动器上,与编译期间创建的数百个(或数千个)文件分开。让所有项目文件都在驱动器上,C:除了我的可编辑源文件。

让我们调用驱动器以将源放在X:.

这是一个正常的 AS 3.5 项目树C:\users\me\AndroidStudioProjects\myProject在此处输入图像描述

这是...\app\src文件夹:在此处输入图像描述

我不想将整个app文件夹放在驱动器上,X:因为app(尤其是app\build\intermediates)将包含数百个(可能是数千个)文件和文件夹。

我只想要一个非常小的...\app\src文件夹,X:部分原因是为了让项目的备份大小减少 90%。

对于 AS 用户来说,这似乎是一件很常见的事情,但是很多谷歌搜索并没有以具体的具体示例的方式显示太多。

无论好坏,这就是我的build.gradle文件(d)演变成的内容:

apply plugin: 'com.android.application'
buildscript
{
    repositories
    {
        jcenter()
        google()
    }
    dependencies
    {
        classpath 'com.android.tools.build:gradle:3.5.0'
    }
}

android
{
    compileSdkVersion 26
    defaultConfig
    {
        applicationId "com.dslomer64.sqhell"
        minSdkVersion 19
        targetSdkVersion 26
        versionCode 1
        versionName "3.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes
    {
        release
        {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies
{
    androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2',
    {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
}

我一个都没写。我只采用编译产生的内容,只更改最新的构建错误导致我更改的任何内容。

是的,我需要学习gradle。但不是今天,拜托。

我怀疑sourceSets可能在哪里粘贴类似的东西X:\AndroidStudioProjects\myProject\src,其中src将包含main第二张图片中显示的文件夹。而且我认为“src”或“srcdir”关键字应该在该路径之前。

编辑 这是我到目前为止的想法:

sourceSets
{
    main
    {
        java { srcDir 'X:\\AndroidStudioProjects\\myProject\\src\\main' }
    }
}

结束编辑

当然,在我现有build.gradle文件的新块中,可以添加相对较少的行来完成任务。肯定有人在 SO 上做过这件事。请提供或分享所需的块以及可能还需要的任何其他更改。

我肯定会很感激这份礼物。

标签: javaandroidandroid-studiogradle

解决方案


推荐阅读