安卓工程修改包名后 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" />

 该方法参考:http://stackoverflow.com/questions/13448480/exported-content-providers-can-provide-access-to-potentially-sensitive-data

 

转载于:https://www.cnblogs.com/misybing/p/4831683.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值