一旦我启动了我的应用程序,我得到一个例外,说应用程序无法在数据库中找到正确的表。通过Android设备监视器检查后,我的应用程序的databases
目录中没有正确的数据库。但是,它位于app/assets
目录中。发生了什么事?
答案 0 :(得分:0)
但是,它存在于app / assets目录中。
默认情况下,这是Android Studio项目中资产的错误位置。资产位于源集中的assets/
目录中(例如,app/src/main/
)。如果您希望assets/
离开模块根目录,可以,但是您需要配置build.gradle
告诉它在哪里找到资产,可能是通过以下方式:
sourceSets {
main {
assets.srcDirs = ['assets']
}
}
答案 1 :(得分:-1)
您需要将此行为与支持库的升级相关联。当您更改在编辑build.gradle
文件的应用程序中使用的版本并使用支持库(appcompat-vx
,support-vx
)时,您必须将资产复制到app/build/intermediates/exploded-aar/com.android.support/[library]/[version from build.gradle]/assets
才能生成它们对您的应用可见。
另外,请记住在使用新设置启动应用程序之前擦除模拟器设备。
此问题也在此处报告:Where to put an asset file to be accessible for an application?,但有关库升级的信息缺失。