我使用libgdx来创建一个游戏,所有的东西都在工作,但是在gradle构建中有一些东西我不明白。其中之一就是为什么所有的资产都在android子模块中,而不是在核心子模块中。核心是负责所有共享代码的模块,没有资产在其中是很奇怪的。这似乎是一个简单的问题,但这使得整个构建更加难以理解。如果你有办法避免这种情况,我愿意接受你的建议。我会努力改变我这边的这种行为,但我不太擅长渐变配置
t30tvxxf1#
我认为 assets android项目中的目录只是惯例。根据这个答案,原因是。。。android项目的根目录中确实有一个名为assets的特定文件夹。根据android项目的要求,文件夹必须严格命名为“assets”。因此,最好在其他项目中以同样的方式设置文件夹层次结构,这样就不必对单个平台进行更改。但我认为应该可以移动 assets 目录,因为如果您创建一个没有android部分的项目,它也被放置在核心项目中。移动 assets 目录的核心项目,你只需要调整你的 build.gradle 文件,并更改以下行:
assets
build.gradle
//sourceSets.main.resources.srcDirs = ["../android/assets"] sourceSets.main.resources.srcDirs = ["../core/assets"] //project.ext.assetsDir = new File("../android/assets"); project.ext.assetsDir = new File("../core/assets");
在我的项目中,此文件位于桌面子项目中,但在其他子项目中可能有一些 build.gradle 文件也是。要在eclipse中运行项目,可能需要在移动资产文件夹后重新链接它。有关如何执行此操作的详细说明,请参见此答案。
ie3xauqp2#
因为libgdx团队决定让libgdx项目生成器把它放在那里。你可以用不同的方式设置你的项目,但我会坚持libgdx建议的项目布局。请注意 assets 不必总是在 android 项目文件夹,具体取决于目标平台。例如,如果你不以android设备为目标,那么就不会有任何问题 android 文件夹。请随意阅读有关libgdx项目结构的更多信息。
android
您必须编辑: ios/robovm.xml... <resources> <resource> <!-- change this path --> <directory>../android/assets</directory> </resource> ...desktop/build.gradle// ... sourceSets.main.resources.srcDirs = ["../android/assets"] // ... project.ext.assetsDir = new File("../android/assets") // ...android/build.gradle ```// ...sourceSets {main {// ...assets.srcDirs = ['assets']// ...
ios/robovm.xml
... <resources> <resource> <!-- change this path --> <directory>../android/assets</directory> </resource> ...
desktop/build.gradle
// ... sourceSets.main.resources.srcDirs = ["../android/assets"] // ... project.ext.assetsDir = new File("../android/assets") // ...
android/build.gradle
这个清单可能不完整,我认为网上也没有详尽的清单。也许这是另一个反对改变你的工作地点的理由 `assets` 文件夹。
2条答案
按热度按时间t30tvxxf1#
我认为
assets
android项目中的目录只是惯例。根据这个答案,原因是。。。android项目的根目录中确实有一个名为assets的特定文件夹。根据android项目的要求,文件夹必须严格命名为“assets”。因此,最好在其他项目中以同样的方式设置文件夹层次结构,这样就不必对单个平台进行更改。
但我认为应该可以移动
assets
目录,因为如果您创建一个没有android部分的项目,它也被放置在核心项目中。移动
assets
目录的核心项目,你只需要调整你的build.gradle
文件,并更改以下行:在我的项目中,此文件位于桌面子项目中,但在其他子项目中可能有一些
build.gradle
文件也是。要在eclipse中运行项目,可能需要在移动资产文件夹后重新链接它。有关如何执行此操作的详细说明,请参见此答案。
ie3xauqp2#
为什么资产在android项目文件夹中,而不是在core中?
因为libgdx团队决定让libgdx项目生成器把它放在那里。你可以用不同的方式设置你的项目,但我会坚持libgdx建议的项目布局。
请注意
assets
不必总是在android
项目文件夹,具体取决于目标平台。例如,如果你不以android设备为目标,那么就不会有任何问题android
文件夹。请随意阅读有关libgdx项目结构的更多信息。如何更改资产文件夹的位置?
您必须编辑:
ios/robovm.xml
... <resources> <resource> <!-- change this path --> <directory>../android/assets</directory> </resource> ...
desktop/build.gradle
// ... sourceSets.main.resources.srcDirs = ["../android/assets"] // ... project.ext.assetsDir = new File("../android/assets") // ...
android/build.gradle
```// ...
sourceSets {
main {
// ...
assets.srcDirs = ['assets']
// ...