美文网首页Android飞升之路
androidstudio 运行apk失败 存在同名数据库怎么解

androidstudio 运行apk失败 存在同名数据库怎么解

作者: 梦许星夜 | 来源:发表于2018-02-06 14:33 被阅读0次

    问题如题,在以前开发项目的过程从未遇到过这个问题。可是就在最近做公司的第二个项目的时间却意外的遇到了这个问题。在做第二个项目的时候为了省时间自然是直接Copy了以前的整个项目,然后进行改包名,改应用名,删掉用不上的类和资源文件。一切都准备就绪后,就开始运行看下效果了。可在这个时候一直运行不成功,并且安装不了。具体看手机上的提示如下图:

    机型oppo R9s

    一看是数据库同名了,心里也不慌。感觉去项目中去看,发现项目的确用了ORMLite数据库,查看对应的表和数据库操作把相应的数据库名字都改了。再试心想应该解决了吧,结果事与愿违。一样存在同名数据库。然后把其它什么缓存相关的路径名都重新命名,数据库都删掉了。再试发现还是提示存在同名数据库。这个时候内心是崩溃的

    怎么会这样呢,完全不按套路出牌啊

    然后我开始各种百度,发现没有一个相同的问题存在,唯一存在的没人解答。实在无奈只有靠自己了,这个时候我看下日志文件,之前没看日志是因为我看日志里也没有红色错误所以没注意。这个时候才发现这端白色警告内容

    com.android.server.pm.PackageManagerException: Can't install because provider name me.nereo.multi_image_selector.fileprovider (in package com.xxx.xxx) is already used by com.xxx.xxx

    这个时候恍然大悟,心想肯定是项目中引用的第三方图片选择库出现了同名。感觉去看果然发现如此,为了兼容Android 7.0 行为变更 通过FileProvider在应用间共享文件。这个共享的路径地址应该是唯一的。所以一旦手机上安装了一个id的FileProvider那么在安装第二个会安装不了。

    随后把项目中的FileProvider的都重新命名如下:


    随后再打包重新运行,果然能成功运行了。

    结束语:出问题,一定要看日志,看日志,看日志!!!

    相关文章

      网友评论

        本文标题:androidstudio 运行apk失败 存在同名数据库怎么解

        本文链接:https://www.haomeiwen.com/subject/iqsgzxtx.html