Onde colocar a pasta 'ativos' no Android Studio?

1413

Estou confuso sobre a assetspasta. Ele não é criado automaticamente no Android Studio, e quase todos os fóruns nos quais isso é discutido falam sobre o Eclipse.

Como o diretório de ativos pode ser configurado no Android Studio?

kalehv
fonte

Respostas:

1670

Como o Android Studio usa o novo sistema de compilação baseado em Gradle , você deve colocar assets/dentro dos conjuntos de fontes (por exemplo, src/main/assets/).

Em um projeto típico do Android Studio, você terá um app/módulo, com um conjunto de main/fontes ( app/src/main/fora da raiz do projeto) e, portanto, seus principais recursos serão inseridos app/src/main/assets/. Contudo:

  • Se você precisar de ativos específicos para uma construção, como debugversus release, poderá criar conjuntos de fontes para essas funções (por exemplo ,. app/src/release/assets/)

  • Os sabores do seu produto também podem ter conjuntos de fontes com ativos (por exemplo, app/src/googleplay/assets/)

  • Seus testes de instrumentação pode ter um androidTestsourceset com ativos personalizados (por exemplo, app/src/androidTest/assets/), embora não se esqueça de pedir ao InstrumentationRegistrypara getContext(), não getTargetContext(), para acessar esses ativos

Além disso, um lembrete rápido: os ativos são somente leitura em tempo de execução. Use armazenamento interno , armazenamento externo ou o Storage Access Framework para conteúdo de leitura / gravação.

CommonsWare
fonte
1
Estou tentando incluir uma fonte personalizada no diretório de ativos. Devo colar apenas o arquivo .ttf como src / main / assets / font.ttf? ou preciso atribuir a fonte explicitamente por código ao controle para vê-la?
precisa saber é
3
@kalehv: "ou preciso atribuir a fonte explicitamente por código ao controle para vê-la?" - absolutamente. Você precisará chamar setTypeface()todos os TextViewwidgets (e outros que herdarem TextView) dos quais deseja usar essa fonte específica.
CommonsWare
16
Legal. Isso funcionou como um encanto. Eu gostaria que houvesse uma maneira de incluir a fonte Assets (personalizada) no Styles.xml, em vez de usá-la através do código. (Meu desejo pode parecer burro demais para segurar, eu sou um novato então me desculpe se é :-P)
kalehv
1
Obrigado! Eu tenho procurado por horas para isso. Tentei criar um subdiretório para ativos em / src / main / res / e o diretório estava sendo removido da compilação do apk.
srowley
2
@ Bora: Então você não tem countries.txtno assets/diretório. Aqui está um projeto de amostra que, entre outras coisas, copia um arquivo dos ativos para o armazenamento interno. Se você tiver outras preocupações, faça uma pergunta separada sobre estouro de pilha, na qual você fornece um exemplo reproduzível mínimo .
CommonsWare
1472

Deixe o Android Studio fazer isso por você.

  1. No Android Studio ( 1.0 e superior ), clique com o botão direito do mouse na insira a descrição da imagem aquipasta e navegue até o Assets Folder.

insira a descrição da imagem aqui

  1. Na próxima tela, basta clicar Finish.

insira a descrição da imagem aqui

E pronto! Ele criará a assetspasta no mainconjunto de origem de destino.

insira a descrição da imagem aqui

Principe
fonte
92
esta solução é para o Android Studio 1.0 e superior. Outras respostas são obsoletas.
JR Tan
39
A ilustração gráfica faz toda a diferença no mundo!
Badr
2
Problema: nas versões mais recentes do Android Studio (estou usando o 2.1.2), pastas de ativos vazias não são exibidas na janela Arquivos do Projeto, dificultando a adição de arquivos. :(
Scott Biggs
2
@ScottBiggs Depois de adicionar os ativos pasta como mostrado acima (na v2.1.2), deve estar dentro visível aplicativo> src> main
Príncipe
2
Qual seria o link para esta pasta em um arquivo java?
VeeK
124

Olhando dentro do arquivo .iml do seu projeto, você verá a seguinte linha:

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

Isso significa que a pasta "assets" já está declarada para Gradle. Você precisará criá-lo em src/main/(Estou usando o Android Studio 0.4.2).

Miguel El Merendero
fonte
8
Meu .iml não tem isso, em que parte do arquivo eu adiciono isso?
Nitsujri 13/03/2014
11
você provavelmente possui 2 arquivos .iml, verifique os dois.
Fernandohur
1
verifique app.iml não <Project-Name> .iml
Tony
1
Sempre em .im na raiz de você src .. não no diretório do projeto .. Isso é apenas para coisas gradle.
Sindri
86

Selecione a apppasta e depois:

File> New> folder> assets Folder,

insira a descrição da imagem aqui

o local padrão está dentro da /mainpasta

insira a descrição da imagem aqui

Jorgesys
fonte
2
Esta é a versão TL; DR da resposta aceita e é realmente útil.
Guillaume Perrot
45

Primeiro, a pasta "Ativos" não será criada automaticamente com o projeto. Temos que criá-lo.

O local da pasta Assets é: App> src> Assets

Por favor, dê uma olhada na imagem simples abaixo.

insira a descrição da imagem aqui

Nota: Para criar a pasta de ativos, clique em Projeto => Clique com o botão direito => Selecione Novo => Pasta => Ativos. Ele criará a pasta Assets.

Lovekush Vishwakarma
fonte
Se outro novato ficou confuso com todas essas respostas como eu, a estrutura da pasta pode parecer diferente com base na seleção no canto superior esquerdo. O meu era "Android", enquanto todas as pessoas aqui estão usando "Projeto" ou "Arquivos de Projeto".
Big_Chair
A estrutura do projeto é diferente com base no que você seleciona para Estrutura do projeto, projeto, arquivos de projeto, pacotes, Android etc., mas você segue as telas que eu compartilho e vejo a seleção do tipo de estrutura do projeto.
Lovekush Vishwakarma
39

É simples, siga estas etapas

Arquivo> Novo> Pasta> Pasta de Recursos

Nota: O aplicativo deve ser selecionado antes da criação da pasta.

Pankaj kumar
fonte
29

No android studio, você pode especificar onde estão localizadas as pastas de origem, res e ativos. para cada módulo / aplicativo no arquivo build.gradle, você pode adicionar algo como:

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.1"

    sourceSets {
        main {
            java.srcDirs = ['src']
            assets.srcDirs = ['assets']
            res.srcDirs = ['res']
            manifest.srcFile 'AndroidManifest.xml'
        }
    }
}
Sportman Appman
fonte
isso é necessário se alguém seguir a convenção?
H.Rabiee
Isso é super útil se o seu projeto não for criado a partir do modelo do Android Studio (por exemplo, clonado no código-fonte AOSP)
Phạm Nguyễn Hoàng
22

Simplesmente, turno duplo e digite Assets Folder

escolha para ser criado no local correto

Mohammad Alotol
fonte
1
Um mais simples! (Y)
GreenROBO 13/06/19
Este é um segredo. Uau. Graças
ralphgabb
18

Clique em main → new -> directory → e digite como nome "assets"

ou ... principal -> nova -> pasta -> pasta de ativos (veja a imagem)

insira a descrição da imagem aqui

Pablo Cegarra
fonte
14

Arquivo> Novo> pasta> pasta de ativos

Pasta Ativos

Gowtham Subramaniam
fonte
10

Se você tentou todas as suas balas neste segmento em vão, tente limpar seu projeto. No meu caso, só funcionou depois Projet->clean

zizoujab
fonte
10

clique com o botão direito do mouse na pasta do aplicativo-> novo-> pasta-> pasta Ativos-> defina a Origem de destino definida-> clique no botão Concluir

Shraddha Patel
fonte
9

Dois caminhos:

  1. Selecione app / pasta principal, clique com o botão direito do mouse e selecione Novo => Pasta => Pasta de Ativos. Ele criará o diretório 'assets' no principal.

  2. Selecione a pasta principal, clique com o botão direito do mouse e selecione Novo => Diretório Digite o nome como 'assets' => Ok.

insira a descrição da imagem aqui

TejpalBh
fonte
7

Ao atualizar para a versão de lançamento do Android Studio, você pode alternar automaticamente para a nova tela do projeto Android (veja aqui para mais informações). Se você voltar à exibição Projeto ou Pacotes, deverá ver a hierarquia de pastas padrão de um projeto baseado em Gradle. Depois, consulte a resposta do CommonsWare para obter o local apropriado.

stkent
fonte
7

Coloque a pasta de ativos no main/src/assetscaminho.

Roland Weisleder
fonte
6

precisa configurar o parâmetro para gradle
espero que seja funcionará

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

Pode não aparecer na sua barra lateral se o aplicativo estiver selecionado. Clique no menu suspenso na parte superior que diz android e selecione pacotes. você verá isso então.

S.Doyle
fonte
3

Etapa 1: Vá para Arquivos. Etapa 2: Vá para Pastas. Etapa 3: Criar pasta de ativos.

Na pasta Assets, basta colocar fontes e usá-lo, se necessário.

ADHIYA PROFUNDO
fonte
2

No Android Studio, clique na apppasta, depois na srcpasta e, em seguida, na mainpasta. Dentro da pasta principal, você pode adicionar a pasta de ativos.

Dharmendra Pratap
fonte
3
Isso não fornece uma resposta para a pergunta. Depois de ter reputação suficiente, você poderá comentar qualquer postagem ; em vez disso, forneça respostas que não exijam esclarecimentos do solicitante . - Da avaliação
Gaurav Dave
2
No Android Studio, clique na pasta do aplicativo, na pasta src e na pasta principal. Dentro da pasta principal, você pode adicionar a pasta Assets.
Dharmendra Pratap
2

Crie um diretório em / app / src / main ou use studio Arquivo-> Novo -> Pasta -> Pasta de ativos.

Durgesh
fonte
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 
indrajeet jyoti
fonte