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.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…