【发布时间】:2026-01-10 11:25:01
【问题描述】:
在this thread 中已经比较了两个项目结构。对我来说仍然悬而未决的问题是,在迁移到 Android Studio 之后,是否有一些不起作用的东西或任何缺点,或者仍然使用旧的 Eclipse 项目结构?我们已经将一个非常大的项目迁移到 Android Studio 并保持旧的结构并且一切正常,更改这样一个大项目的结构会非常复杂,这样做有什么好处吗?
【问题讨论】:
在this thread 中已经比较了两个项目结构。对我来说仍然悬而未决的问题是,在迁移到 Android Studio 之后,是否有一些不起作用的东西或任何缺点,或者仍然使用旧的 Eclipse 项目结构?我们已经将一个非常大的项目迁移到 Android Studio 并保持旧的结构并且一切正常,更改这样一个大项目的结构会非常复杂,这样做有什么好处吗?
【问题讨论】:
您可以保留旧的 Eclipse 项目结构。您所要做的就是在 build.gradle 配置文件中设置正确的代码路径:
android {
...
sourceSets {
main {
manifes.srcFile 'path/to/AndroidManifest.xml'
java.srcDirs = ['path/to/src']
resources.srcDirs = ...
aidl.srcDirs = ...
res.srcDirs = ...
assets.srcDirs = ...
jni.srcDirs = ...
}
androidTest {
java.srcDirs = ['path/to/android/tests']
res.srcDirs = ...
...
}
test {
java.srcDirs = ['path/to/unit/tests']
}
}
}
唯一可能令人困惑的是,如果您使用代理并在 AndroidStudio 中对其进行配置,它会将参数作为纯文本注入您的根 gradle.properties 文件中。如果您使用 gradle.properties,即您是从 Jenkins 注入变量,这可能会令人沮丧,而且您可能会突然使用您的所有凭据提交此文件。为避免这种情况,您可以使用带有模块的项目结构:
/root
-build.gradle
-gradle.properties
-module/
-module/build.gradle
-module/gradle.properties
在这种情况下,您可以将 gradle 变量保存在 module/gradle.properties 中,根 gradle.properties 将用于 AndroidStudio。
【讨论】: