a_s*_*ber 3 android-gradle-plugin
安卓工作室3.4
我有 2 种构建类型:
debug
release
Run Code Online (Sandbox Code Playgroud)
所以我的项目结构是:
src/debug/java/
src/main/java/
src/release/java/
Run Code Online (Sandbox Code Playgroud)
我有CartActivity。该类对于release版本和debug版本有不同的实现。所以这个类的位置位于两个文件夹中:
src/debug/java/activityCartActivity
src/main/java/activityCartActivity
Run Code Online (Sandbox Code Playgroud)
但是当我构建项目时gradlew assemble出现错误:
> Task :scanlib:processDebugJavaRes NO-SOURCE
> Task :scanlib:transformClassesAndResourcesWithPrepareIntermediateJarsForDebug
> Task :app:javaPreCompileDebug FROM-CACHE
> Task :app:compileDebugJavaWithJavac FAILED
\app\src\debug\java\com\myproject\app\cart\CartActivity.java:66: error: duplicate class: com.myproject.app.cart.CartActivity
public class CartActivity extends AppCompatActivity {
Run Code Online (Sandbox Code Playgroud)
你做不到。
src/debug/java/activityCartActivity
src/main/java/activityCartActivity
Run Code Online (Sandbox Code Playgroud)
查看官方文档:
java/ 目录中的所有源代码都会一起编译以生成单个输出。
特别是:
注意:对于给定的构建变体,如果 Gradle 遇到两个或多个定义了相同 Java 类的源集目录,则会引发构建错误。例如,在构建调试 APK 时,您不能同时定义
src/debug/Utility.java和src/main/Utility.java。这是因为 Gradle 在构建过程中查看这两个目录并抛出“重复类”错误。如果您希望针对不同的构建类型使用不同版本的 Utility.java,则可以让每个构建类型定义自己的文件版本,而不将其包含在主/源集中。
| 归档时间: |
|
| 查看次数: |
1312 次 |
| 最近记录: |