【发布时间】:2015-03-04 01:13:47
【问题描述】:
我想在与活动不同的文件夹中设置课程。 当前文件夹结构:
-> 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 对文件夹结构有点混乱,我们有几个选项可供选择,我不知道其中一些是做什么的。 就我而言,我将文件夹“类”添加为“Java 文件夹”。
编辑 1: 提示是创建一个包而不是文件夹。 所以我在其中创建了包和一个新文件。 android studio 自动将这些信息填充到文件 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;
【问题讨论】:
-
别担心,我不是那个支持的人。我没有接受你的回答有两个原因:stackoverflow 还不允许我,即使在创建包之后我也发现了一些问题。
标签: java android android-studio