哪里将“资产”文件夹放在Android Studio中?


1413

我对assets文件夹感到困惑。它不是在Android Studio中自动创建的,讨论该主题的几乎所有论坛都谈论Eclipse。

如何在Android Studio中配置Assets目录?

Answers:


1670

由于Android Studio使用了新的基于Gradle的构建系统,因此您应该将其放入assets/源集(例如src/main/assets/)中。

在典型的Android Studio项目中,您将有一个app/模块,该模块带有源集main/app/src/main/不在项目根目录下),因此您的主要资产将放入app/src/main/assets/。然而:

  • 如果您需要特定于构建的资产(例如debugvs)release,则可以为这些角色创建源集(例如app/src/release/assets/)。

  • 您的产品口味还可以包含带有资产的资源集(例如app/src/googleplay/assets/

  • 您的仪器测试可以有一个androidTest自定义资产(如sourceset app/src/androidTest/assets/),但一定要问InstrumentationRegistrygetContext(),不是getTargetContext()来访问这些资产

另外,还有一个简短的提醒:资产在运行时是只读的。使用内部存储外部存储Storage Access Framework读取/写入内容。


1
我正在尝试在资产目录中包含自定义字体。我是否应该只将.ttf文件粘贴为src / main / assets / font.ttf?还是我需要通过代码将字体显式分配给控件才能看到它?
kalehv

3
@kalehv:“还是我需要通过代码将字体显式分配给控件才能看到它?” -哦,绝对。您需要调用要使用此特定字体的setTypeface()所有TextView小部件(以及其他继承自的小部件TextView)。
CommonsWare,2013年

16
凉。那就像一个魅力。我希望有一种方法可以将Assets字体(自定义)包含在Styles.xml中,而不是通过代码使用它。(我的愿望听起来可能太愚蠢了,我是一个初学者,所以请原谅:-P)
kalehv

1
谢谢!我一直在寻找这个时间。我尝试为/ src / main / res /下的资产创建一个子目录,并且该目录已从apk构建中删除。
srowley's 2015年

2
@Bora:然后您没有countries.txtassets/目录。这是一个示例项目,除其他外,该项目将文件从资产复制到内部存储中。如果您还有其他顾虑,请询问另一个“堆栈溢出”问题,在此您将提供一个最小的可复制示例
CommonsWare

1471

让Android Studio为您完成。

  1. 在Android Studio(1.0及更高版本)中,右键单击该在此处输入图片说明文件夹,然后导航到Assets Folder

在此处输入图片说明

  1. 在下一个屏幕上,只需单击Finish

在此处输入图片说明

瞧!它将assetsmain目标源集中创建文件夹。

在此处输入图片说明


92
此解决方案适用于Android Studio 1.0及更高版本。其他答案已过时。
JR Tan

39
图形化的插图使世界变得与众不同!
Badr 2015年

2
问题:在较新版本的Android Studio(我使用的是2.1.2)上,“项目文件”窗口中未显示空资产文件夹,因此很难添加文件。:(
Scott Biggs,2016年

2
@ScottBiggs 如上所示(在v2.1.2上)添加了Assets文件夹后,它应该在app> src> main
Prince

2
在Java文件中此文件夹的链接是什么?
VeeK '17

123

查看项目的.iml文件,您将看到以下行:

 <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />

这意味着已经为Gradle声明了“ assets”文件夹。您将需要在src/main/(我正在使用Android Studio 0.4.2)下创建它。


8
我的.iml没有这个,我要添加到文件的哪一部分?
nitsujri 2014年

11
您可能有2个.iml文件,请同时检查它们。
fernandohur 2014年

1
检查app.iml不是<Project-Name> .iml
Tony

1
总是在.im的根目录下,而不是在项目目录中。。
SindriÞór15年

86

选择app文件夹,然后:

File> New> folder> assets Folder

在此处输入图片说明

默认位置在/main文件夹内

在此处输入图片说明


2
这是已接受答案的TL; DR版本,实际上很有用。
Guillaume Perrot

45

首先,“ Assets”文件夹不会随项目自动创建。我们必须创建它。

Assets文件夹的位置是:App> src> Assets

请看下面的简单图片。

在此处输入图片说明

注意:要创建资产文件夹,只需单击Project =>右键单击=>选择New => Folder => Assets。它将创建Assets文件夹。


如果像我这样的所有答案都让另一个新手感到困惑,则根据左上角的选择,文件夹结构可能看起来有所不同。我的是“ Android”,而这里的所有人都在使用“ Project”或“ Project Files”。
Big_Chair

根据您为“项目结构”,“项目”,“项目文件”,“包”,“ Android”等选择的内容,项目结构会有所不同,但是您可以按照我共享的屏幕查看项目结构类型的选择。
Lovekush Vishwakarma


29

在android studio中,您可以指定来源,资源,资产文件夹的位置。对于build.gradle文件中的每个模块/应用,您可以添加以下内容:

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.1"

    sourceSets {
        main {
            java.srcDirs = ['src']
            assets.srcDirs = ['assets']
            res.srcDirs = ['res']
            manifest.srcFile 'AndroidManifest.xml'
        }
    }
}

如果遵守公约,这是否必要?
H.Rabiee

这是超级有用的,如果你的项目是不是由Android Studio中的模板装箱(例如从克隆的AOSP源代码)
范阮潢




10

如果您徒劳地尝试了此线程中的所有项目符号,请尝试清理项目。就我而言,它只有在Projet-> 之后才起作用clean



9

两种方式:

  1. 选择应用程序/主文件夹,右键单击并选择新建=>文件夹=>资产文件夹。它将在main中创建“ assets”目录。

  2. 选择主文件夹,右键单击并选择新建=>目录,输入名称作为'assets'=>确定。

在此处输入图片说明


7

升级到Android Studio的发行版时,您可能会自动切换到新的Android项目视图(有关更多信息,请参见此处)。如果交换回“项目”或“包”视图,则应该看到基于Gradle的项目的标准文件夹层次结构。然后,参考CommonsWare的答案以获取适当的位置。



6

需要为gradle配置参数,
我希望能正常工作

// file: build.gradle  
sourceSets {
    main {
        assets.srcDirs = ['src/main/res/icon/', 'src/main/assets/']
    }
}

6
Src/main/Assets

如果选择了应用程序,则它可能不会显示在侧栏上。点击顶部显示Android的下拉菜单,然后选择软件包。您会看到它。


3

第1步:转到文件。第2步:转到文件夹。第3步:创建资产文件夹。

在Assets文件夹中,只需放入字体并在需要时使用它。


2

在Android Studio中,app依次单击文件夹,src文件夹和main文件夹。在主文件夹中,您可以添加资产文件夹。


3
这不能为问题提供答案。一旦您拥有足够的声誉,您就可以在任何帖子中发表评论;相反,请提供不需要问询者澄清的答案。- 来自点评
Gaurav Dave

2
在Android Studio中,依次点击app文件夹,src文件夹和main文件夹。在主文件夹中,您可以添加Assets文件夹。
Dharmendra Pratap

2

您可以在/ app / src / main下创建目录,也可以使用studio文件->新建->文件夹->资产文件夹。


2
follow these steps 

1)file->New->Folder
 there are multiple options like
      aidl folder
      assets folder
      jni folder
2) choose options assets folder
3) then there is option to change path of assets folder if you 
    want to change then check otherwise left that checkbox of cahnge folder location
4) click on finish 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.