android - Android 项目:使用版本控制组织艺术品和声音
问题描述
我使用 Android 已经有一段时间了,但我从来没有看到任何关于这个问题的好的解释。
我正在开发一个包含许多艺术作品和声音文件的应用程序。其中许多文件是临时文件,是未来工作将从中演变而来的基础文件,或者是稍后将拆分为多个文件的大版本。我想通过这个项目让它们处于版本控制之下,并且我想把所有东西都放在我硬盘上的同一个地方。
但我不希望这些“工作”文件最终出现在我的 apk 中。它们通常很大,与最终产品无关。
在我生命的大部分时间里(即在 Android 之前),我只会在我的项目中有一个名为art_work_files
. 这个目录将被细分为所有不同的任务。git 对此很好,尤其是对于 SVG 文件(它甚至可以正确地记录差异和变化)。
但是当我将这些文件放入我的 Android Studio 项目时,我担心 AS 会认为这些文件在某种程度上很重要并保留对它们的引用——甚至可能将它们添加到 jar 或 apk 文件中。
是的,我意识到艺术的最终版本需要进入res/drawing/
目录(对于声音和其他资源也是如此)。我很高兴能完成这个最终副本。
我是不是想多了,还是有更好的方法来组织并保持 Android Studio 的快乐?
解决方案
由于在 7 个月内没有人回答这个问题,我将提交我的解决方案。
我在名为assets的目录(与和main
相同的级别)下创建了一个目录。Git 可以识别这个目录,并且会注意到任何添加、删除或更改的文件。顺便说一句,我可以使用 git 来处理二进制文件。java
res
对于每种类型的资产,我都会创建另一个子目录。这是它的样子:
app ->
libs
src ->
main ->
assets ->
font
ogg
png
svg
java
res
...
这似乎工作正常,让每个人都开心。我仍然很好奇其他人是如何做到这一点的;我欢迎您的评论和回答。
推荐阅读
- python-3.x - 如何在 aioamqp 的回调处理程序中使用异步资源?
- installation - InstallForge:安装路径问题
- python - 气流不渲染 timedelta 参数
- sql-server - 将函数返回值传递给存储过程参数
- azure-active-directory - 赛普拉斯 AzureAD 身份验证自动化
- reactjs - 失败的道具类型:无效的道具值`[object Object],[object Object]`,应为[null,null]之一
- python-3.x - 在 ubuntu 18.04.4 上运行 sudo dpkg --configure -a 命令时 python3 django 出错
- html - 超过 1024 个字符的字符串上的 PosEx
- javascript - 从另一个组件到达组件内声明的对象 - React Native
- django - django.shortcuts 和 rest_framework.generics 之间的区别