zoukankan      html  css  js  c++  java
  • 安卓工程修改包名后 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

  • 相关阅读:
    arangodb安装
    ubuntu安装java方法
    设置代理
    自动机
    统计学习基本理论知识(一)
    条件随机场(四)
    条件随机场(三)
    hive安装
    GC root & 使用MAT分析java堆
    jinfo介绍
  • 原文地址:https://www.cnblogs.com/misybing/p/4831683.html
Copyright © 2011-2022 走看看