安卓工程修改包名后 Failed to find provider info for...问题
安卓工程修改包名后 Failed to find provider info for com.android...provider问题
原因:
1. 多处含包名文件须同时更改
2. Manifest里<provider />的设置问题
解决办法:
1. 右键修改包名之前取消 Project -> Build Automatica 选项
2. 工程名的修改:右键工程 Android Tools -> rename application package
(以上完成后勾选 Project -> Build Automatica 选项,并Clean)
3. Manefest里:
<provider android:name="com.uustudio.unote.provider.NotepadProvider" android:authorities="com.uustudio.unote.provider" android:exported="false"> </provider>
其中authrities不会自动修改,须手动检查并修改,它是授权常量的声明,须在src找到常量申明的java文件,手动修改其值,使与 android:authorities="com.uustudio.unote.provider" 保持一致。
/**授权常量*/ public static final String AUTHORITY="com.uustudio.unote.provider";
android:exported="false"为只在本应用内部数据库调用,若要开放,改为true后可添加:tools:ignore,同时在Manifest标签中申明<manifest ... xmlns:tools="http://schemas.android.com/tools" ...>
<provider tools:ignore="ExportedContentProvider" android:exported="true" android:name="Contentprovider" android:authorities="umb.con.apps.vid" />