在 Android Studio 中的哪里添加 类 的文件夹?

Where to add folder of classes in Android Studio?

我想在与活动不同的文件夹中设置 classes。 当前文件夹结构:

-> APP
  -> Manifests
  -> Java
     -> com.test.testing
        -> classes
            auth.java
        home_activity
     -> libs

auth.java

package com.test.testing;
// error here: Package name ‘com.test.testing’ does not correspond to file path.
public class auth{

  public void auth(){}
}

另外,我不能在 activity 中调用这个 class:

import classes.auth;

所以我去构建 gradle 这是我的配置:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "com.test.testing"
        minSdkVersion 15
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    sourceSets {
        main {
            java.srcDirs = ['src/main/java', 'java/', 'src/main/java/com/test/testing/classes']
            assets.srcDirs = ['src/main/assets', 'src/main/assets/']
        }
    }
}

Android Studio 对文件夹结构有点混乱,我们有几个选项可供选择,但我不知道其中一些选项的作用。 就我而言,我将文件夹 "classes" 添加为 "Java Folder"。

编辑 1: 技巧是创建一个包而不是一个文件夹。 所以我在里面创建了包和一个新文件。 android 工作室自动将此信息填入文件 auth.java;

package com.test.testing.classes;

public class auth {

}

我仍然无法将 class 导入到活动中。 虽然当我开始输入(在 activity 中)import classes 它显示为文档帮助但它没有任何关联的对象,即:

import classes.auth; 

报错。

我再次构建 Gradle 文件,它没有向 java.srcDirs:

添加任何内容
 sourceSets {
        main {
            java.srcDirs = ['java/', 'src/main/java']
        }
    }

编辑 2: import 问题的解决方案是字符串。 而不是

import classes.auth;

应该是:

import com.test.testing.classes.auth;

Select Package 来自上面的列表(在您的快照中)

我想很多人对文件结构感到困惑,这里是:

app
  |--> manifests
  |--> java
  |      |--> com.example.yourapp
  |      |                     |--> MainActivity.java
  |      |                     |--> YOUR_PACKAGE_FOLDER
  |      |
  |      |--> com.example.yourapp(android test)
  |      |--> com.example.yourapp(test)
  |
  |--> res

您可以尝试 File -> New -> Package,这样 android studio 会在正确的位置创建文件夹。
File -> New -> Java Class 对于 类)