Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AndroidStudio项目assets文件夹应该放在哪里? #29

Open
scping opened this issue Aug 12, 2019 · 3 comments
Open

AndroidStudio项目assets文件夹应该放在哪里? #29

scping opened this issue Aug 12, 2019 · 3 comments

Comments

@scping
Copy link

scping commented Aug 12, 2019

高手,您好:
Assets.background = LTextures.loadTexture("background.png");
图片路径报错java.lang.RuntimeException: Path background.png is null !
不知道怎么放这个assets文件夹

@scping scping closed this as completed Aug 12, 2019
@scping scping reopened this Aug 12, 2019
@scping
Copy link
Author

scping commented Aug 12, 2019

这样写可以了Assets.background = LTextures.loadTexture("assets/background.png");
我是新手在摸索

@cping
Copy link
Owner

cping commented Aug 12, 2019

您好,android studio中assets文件夹默认应该放置于src/main目录下,与res和java文件夹平级,也就是yourproject/src/main/assets。但是这并非绝对,gradle中可以通过sourceSets设置main参数来改变默认路径,也就是可以通过设置assets.srcDirs=['xxx']来改变其位置,所以它的位置和名称并不是一定固定的,而是可以根据设定和环境改变的。

例如可以在项目的build.gradle文件的sourceSets设置修改成这样一句:

sourceSets{
    main{
        //...
        assets.srcDirs = ['assets', 'src/main/assets', '../assets/src/main/resources/assets']
    }
}

把与build.gradle同级的assets文件夹,src下的assets文件夹,以及额外打入上级目录resources下的assets文件夹都统一放在android的assets文件夹下。

这样这三个位置的assets文件打包后就都能被正常读取到,只要资源在这三个位置其中一个,最终结果就都一样了。

如果不愿意手写调整,android studio中有Folder选项,也可以配置assets folder路径。

当然,找不到文件也不一定是assets文件下没有相关文件,因为linux系统区分大小写,有时也可能是复制产生的文件大小写不一致问题。一般情况下,最好保证assets文件夹名称以及其中文件(含后缀)都小写,然后一律按小写名称读取,这样出名称错误的可能性会小很多。

@scping
Copy link
Author

scping commented Aug 12, 2019

非常感谢,写的非常完整 ~~

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants