我的应用程序使用一个库项目“核心项目”和应用程序核心,然后针对每个支持的设备的特殊性进行小项目“子项目”,即。亚马逊Fire TV、Kindle平板电脑、普通谷歌平板电脑、手机等。
比方说,我有一个自定义视图类MyCustomView
,它以编程方式扩展布局r.layout.layout_CustomView
。两者都在核心项目上:
public class MyCustomView {
.
.
inflate (R.layout.layout_customview);
.
.
}
然而,自定义视图在核心项目res/layout下不断膨胀另一个视图(毕竟听起来合乎逻辑,因为它们都位于同一个项目中)。
有没有办法改变这种行为?例如,“覆盖”xml布局文件,或者我必须给替代布局一个不同的名称,扩展类,等等。?
在应用程序和库中都定义了资源ID的情况下,这些工具确保应用程序中声明的资源获得优先级,并且库项目中的资源不会编译到application.apk中。这使您的应用程序能够灵活地使用或重新定义在任何库中定义的任何资源、行为或值。
管理项目
我想更好的方法是在项目中复制xml。
Standard project layout(标准的项目布局) 在 Loopback 根目录下有三个 子目录: server - Node 应用脚本和配置文件 client - 客户端 JavaScript, HTML, 和 CSS 文件. common - 文件共用客户端和服务器. 子目录 common/models 目录 包含所有模型JSON和JavaScript文件 definitions
以下是Maven Quickstart CLI创建的源代码的布局。 此外,这是标准Tapestry应用程序的建议布局。 ├── build.gradle ├── gradle │ └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradl
表25.3.War插件-项目布局 文件夹 含义 src/main/webapp Web应用资源
Java 插件的默认布局如下图所示, 无论这些文件夹中有没有内容, Java 插件都会编译里面的内容, 并处理任何缺失的内容. 表22.4.java 插件-默认布局 目录 | 含义 —— | —- src/main/java | 主要 Java 源码 src/main/resources | 主要资源 src/test/java | 测试 Java 源码 src/test/resources |
我正在使用sbt 0.13.12,这是我的项目 在构建中。sbt取决于公共。如果我按sbt project sub1 run运行就可以了。但是,当我将子项目打包为jar文件时,我运行sub1。jar文件中,错误显示sub1无法找到一类公共的。 我的目的是包装sub1。jar和sub2。在每个jar文件中编译带有通用代码的jar。 --更新-- 我尝试作为建议回答。运行时遇到这个问题: 而且,是的!
默认 Library 只会发布 release variant(变种)版本。该版本将会被所有引用它的项目使用,无论编译出多少个版本。由于 Gradle 的限制,我们正在努力解决这个问题。你可以控制哪一个 Variant 版本作为发行版: android { defaultPublishConfig "debug" } 注意这里的发布配置对应的值是完整的 variant 版本名称。reles