I am confused about the assets
folder. It doesn\'t come auto-created in Android Studio, and almost all the forums in which this is discussed talk about Eclipse.
When upgrading to the release version of Android Studio, you may be automatically switched to the new Android project View (see here for more info). If you swap back to either the Project or Packages view, you should see the standard folder hierarchy of a Gradle-based project. Then refer to CommonsWare's answer for the appropriate location.
If you tried all your bullets in this thread in vain try cleaning your project . In my case it only worked after Projet
-> clean
Since Android Studio uses the new Gradle-based build system, you should be putting assets/ inside of the source sets (e.g., src/main/assets/
).
In a typical Android Studio project, you will have an app/
module, with a main/
sourceset (app/src/main/
off of the project root), and so your primary assets would go in app/src/main/assets/
. However:
If you need assets specific to a build type, such as debug
versus release
, you can create sourcesets for those roles (e.g,. app/src/release/assets/
)
Your product flavors can also have sourcesets with assets (e.g., app/src/googleplay/assets/
)
Your instrumentation tests can have an androidTest
sourceset with custom assets (e.g., app/src/androidTest/assets/
), though be sure to ask the InstrumentationRegistry
for getContext()
, not getTargetContext()
, to access those assets
Also, a quick reminder: assets are read-only at runtime. Use internal storage, external storage, or the Storage Access Framework for read/write content.
Click over main → new -> directory → and type as name "assets"
or... main -> new -> folder -> assets folder (see image)
Either create a directory under /app/src/main or use studio File-> New -> Folder - > Assets Folder.
In android studio you can specify where the source, res, assets folders are located. for each module/app in the build.gradle file you can add something like:
android {
compileSdkVersion 21
buildToolsVersion "21.1.1"
sourceSets {
main {
java.srcDirs = ['src']
assets.srcDirs = ['assets']
res.srcDirs = ['res']
manifest.srcFile 'AndroidManifest.xml'
}
}
}