我正在使用类似于以下项目结构的libGDX开发游戏:
Root project 'gdx-play'
+--- Project ':android'
+--- Project ':core'
\--- Project ':desktop'
子项目android
和desktop
取决于core
。
我想将我的资源保存在core
项目的资源文件夹中。根据{{1}}的{{1}}工作正常,因为libGDX很乐意从打包的JAR根加载资产。但是,在Android上,libGDX希望资产驻留在打包的Apk的core
文件夹中。
如果没有项目之间的紧密耦合,我如何才能最好地配置我的多项目构建?
将资源存储在desktop
项目的assets
子文件夹中,以便在打包时神奇地将它们放在Apk的assets
文件夹中。
从core
发布两个单独的JAR;一个有班级,一个有资源。或者将assets
项目分成两部分。然后,在core
中,以某种方式将资源JAR中的项添加到Android插件的core
android
中,并从类路径中删除该JAR(以便其项目不是冗余的)包含在APK中。我不知道这是否危险。
将assets
插件添加到SourceDirectorySet
项目并导出AAR。我确定这与android-library
最兼容,但是,我不知道如何为core
项目获得正常的JAR。
答案 0 :(得分:0)
我会选择两种方法之一。要么@jake-wharton在这个similar question中从APK创建jar的方法基本上涉及为库的每个版本变体创建JAR任务(跳过调试变体)。
或者我会将资源拉入自己的Android库,例如core-assets
,只留下core
中的java代码。这种方法的一个好处是纯Java项目更容易彻底测试。目前,Android的测试支持有点缺乏。