题 我在哪里将'assets'文件夹放在Android Studio中?


我很困惑 assets 夹。它不是在Android Studio中自动创建的,几乎所有论坛都讨论了Eclipse。

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


1179
2017-08-18 18:54


起源


检查这个tut gadgetsaint.com/android/custom-fonts-textview-edittext-android/... - ASP


答案:


自Android Studio使用以来 新的基于Gradle的构建系统, 你应该 assets/ 在源集内部 (例如。, src/main/assets/)。

在典型的Android Studio项目中,您将拥有一个 app/ 模块,带有 main/ sourceset(app/src/main/ 离开项目根目录),因此您的主要资产将进入 app/src/main/assets/。然而:

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

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

  • 您的仪器测试可以有一个 androidTest 具有自定义资产的sourceset(例如, app/src/androidTest/assets/),虽然一定要问 InstrumentationRegistry 对于 getContext()不是 getTargetContext(),访问这些资产

另外,快速提醒一下:资产在运行时是只读的。使用 内部存储器外置储存, 要么 存储访问框架 用于读/写内容。


1465
2017-08-18 18:56



我想在assets目录中包含一个自定义字体。将.ttf文件粘贴为src / main / assets / font.ttf,我应该好好吗?或者我需要通过代码明确地将字体分配给控件来查看它吗? - kalehv
@kalehv:“或者我需要通过代码明确地将字体分配给控件来查看它吗?” - 哦,绝对。你需要打电话 setTypeface() 所有 TextView 小部件(和其他继承自 TextView)你想使用这种特定的字体。 - CommonsWare
凉。这就像一个魅力。我希望有一种方法可以将Assets字体(自定义)包含在Styles.xml中,而不是通过代码使用它。 (我的愿望可能听起来太愚蠢了,我是初学者,请原谅我,如果是:-P) - kalehv
谢谢!我一直在寻找这个时间。我尝试在/ src / main / res /下为资产创建子目录,并且该目录正在从apk构建中删除。 - srowley
@Bora:那你没有 countries.txt 在里面 assets/ 目录。 这是一个示例项目 除其他外,它将文件从资产复制到内部存储中。如果您还有其他问题,请提出单独的Stack Overflow问题,在此提供问题 最小,完整和可验证的例子。 - CommonsWare


让Android Studio为您完成。

  1. 在Android Studio中(1.0及以上),右键单击 enter image description here 文件夹并导航到 Assets Folder

enter image description here

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

enter image description here

瞧!它会创造 assets 文件夹中 main 目标源集。

enter image description here


1307
2017-12-28 04:50



此解决方案适用于Android Studio 1.0及更高版本。其他答案已经过时。 - Jit Ren
图形化的插图让世界变得与众不同! - fullMoon
问题:在较新版本的Android Studio(我使用的是2.1.2)中,空文件夹文件没有显示在“项目文件”窗口中,因此很难添加文件。 :( - Scott Biggs
@ScottBiggs一旦你添加了 资产 文件夹如上图所示(在v2.1.2上),它应该在里面可见 app> src> main - Prince
在java文件中该文件夹的链接是什么? - VeeK


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

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

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


114
2018-01-21 10:03



我的.iml没有这个,我把它添加到文件的哪个部分? - nitsujri
你可能有2个.iml文件,检查它们。 - fernandohur
检查app.iml不是<Project-Name> .iml - Tony
总是在你的src的根目录。不在项目目录中..这只是为了gradle的东西。 - Sindri Þór


选择 app 文件夹然后:

File > New > folder > assets Folder ,

enter image description here

默认位置在里面 /main 夹

enter image description here


72
2017-09-04 21:46



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


简单地按照这个

文件>新建>文件夹>资产文件夹

注意:必须在创建文件夹之前选择应用程序。


30
2018-06-23 06:39





在android studio中,您可以指定source,res,assets文件夹所在的位置。 对于build.gradle文件中的每个模块/应用程序,您可以添加如下内容:

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.1"

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

22
2017-12-11 14:57



如果遵循惯例,这是必要的吗? - H.Rabiee


如果你在这个线程中尝试了所有的子弹都是徒劳的,请尝试清理你的项目。在我的情况下,它只在以后工作 Projet  - > clean


9
2018-06-22 23:03



这更像是评论而不是答案,但它为我节省了+1 - ssimm