Ответ 1
Выберите Package
из списка выше (в вашем снимке)
Я хочу настроить классы в разных папках, кроме действий. Текущая структура папок:
-> 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(){}
}
Кроме того, я не могу назвать этот класс активным:
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: Совет должен был создать пакет вместо папки. Поэтому я создал пакет и новый файл внутри него. Автоматически студия андроида заполняет эту информацию файлом auth.java;
package com.test.testing.classes;
public class auth {
}
Что происходит, так это то, что я все еще не могу импортировать класс в действия.
Хотя при запуске ввода (в действии) 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;
Выберите 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 создала папку в нужном месте.
(File -> New -> Java Class
для классов)