XmlResourceParser android.content.pm.PackageItemInfo.loadXmlMetaData(android.content.pm.PackageManag

本文介绍如何在Android应用中正确配置FileProvider以实现文件共享。主要内容包括在清单文件中添加provider标签,设置authorities属性,并确保其与FileProvider.getUriForFile(...)中的authority值保持一致。

借鉴

 

 清单文件中加上

<provider
            android:name="android.support.v4.content.FileProvider"
            android:authorities="com.example.asd.fileprovider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/filepaths" />
        </provider>

filepath文件

<resources>
    <paths>
        <root-path
            name="photos"
            path="" />
    </paths>
</resources>

要确定清单文件中的authorities 和  FileProvider.getUriForFile(...)中的 authority 值是一样的

----- pid 16165 at 2025-08-29 10:05:38.478870024+0530 ----- Cmd line: com.afalasfrkb.flash Build fingerprint: ‘realme/RMX3944IN/RE6083L1:16/BP2A.250605.015/V.R4T2.3815afc-18a755a-18c917b:user/release-keys’ ABI: ‘arm64’ Build type: optimized Debug Store: 3,7,3014930::ID:3,C:E,T:3006121||ID:3,C:S,T:3006119,N:SvcStart,D:stId=1;flg=0;act=null;comp=ComponentInfo{com.afalasfrkb.flash/com.calcx.hideapp.notification.NtfLstService};pkg=null||ID:2,C:E,T:3006119||ID:2,C:S,T:3006117,N:SvcCreate,D:name=com.calcx.hideapp.notification.NtfLstService;pkg=com.afalasfrkb.flash||ID:0,C:P,T:3005624,N:LooperMsg,D:code=110;trgt=android.app.ActivityThread$H;elapsed=2957||ID:1,C:E,T:3005624||ID:1,C:S,T:3002668,N:BindApp;; suspend all histogram: Sum: 2.625ms 99% C.I. 3us-1499.360us Avg: 201.923us Max: 1563us DALVIK THREADS (47): “main” prio=5 tid=1 Runnable | group=“main” sCount=0 ucsCount=0 flags=0 obj=0x7331cf88 self=0xb400007ca90d3000 | sysTid=16165 nice=-10 cgrp=top-app sched=0/0 handle=0x7d562cf098 | state=R schedstat=( 2188435102 2016277302 4544 ) utm=115 stm=103 core=7 HZ=100 | stack=0x7fefdcf000-0x7fefdd1000 stackSize=8188KB | held mutexes= “mutator lock”(shared held) at android.content.res.AssetManager.getResourceTypeName(AssetManager.java:918) at android.content.res.ResourcesImpl.getResourceTypeName(ResourcesImpl.java:380) at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:1071) at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:859) at android.content.res.Resources.loadDrawable(Resources.java:1055) at android.content.res.Resources.getDrawableForDensity(Resources.java:1045) at android.content.res.Resources.getDrawable(Resources.java:982) at android.app.ApplicationPackageManager.getDrawable(ApplicationPackageManager.java:1924) at android.app.UxIconPackageManagerExt.loadItemIconWithoutEdit(UxIconPackageManagerExt.java:108) at android.app.UxIconPackageManagerExt.loadItemIcon(UxIconPackageManagerExt.java:181) at android.content.res.OplusThemeManager.loadPackageItemIcon(OplusThemeManager.java:134) at android.app.ApplicationPackageManagerExtImpl.interceptGetDrawableInLoadUnbadgedItemIcon(ApplicationPackageManagerExtImpl.java:142) at android.app.ApplicationPackageManager.loadUnbadgedItemIcon(ApplicationPackageManager.java:3627) at android.app.ApplicationPackageManager.loadUnbadgedItemIcon(ApplicationPackageManager.java:3632) at android.app.ApplicationPackageManager.loadItemIcon(ApplicationPackageManager.java:3591) at android.content.pm.PackageItemInfo.loadIcon(PackageItemInfo.java:303) at android.content.pm.ResolveInfo.loadIcon(ResolveInfo.java:350) at com.cgrj.app.applock.AppLockEntry.startAppLock(SourceFile:415) at com.calcx.remoteconfig.ab.ABManager.initAppLock(SourceFile:14) at com.calcx.remoteconfig.ab.ABManager.startABActivity(SourceFile:29) at com.calcx.remoteconfig.ab.ABManager$d.run(SourceFile:7) at android.os.Handler.handleCallback(Handler.java:1027) at android.os.Handler.dispatchMessage(Handler.java:108) at android.os.Looper.loopOnce(Looper.java:298) at android.os.Looper.loop(Looper.java:408) at android.app.ActivityThread.main(ActivityThread.java:9952) at java.lang.reflect.Method.invoke(Native method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:613) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1074)分析一下这个ANR的原因
最新发布
09-06
E Failed to open APK '/data/app/~~Te9uN82Kx0tK4tVuST3xdQ==/com.example.baiyunmap-IOAbLAegSXIzfYwpq7unmQ==/base.apk': I/O error 2025-07-14 22:03:14.162 1476-1476 ndroid.systemu com.android.systemui E Failed to open APK '/data/app/~~Te9uN82Kx0tK4tVuST3xdQ==/com.example.baiyunmap-IOAbLAegSXIzfYwpq7unmQ==/base.apk': I/O error 2025-07-14 22:03:14.162 1476-1476 ResourcesManager com.android.systemui E failed to add asset path '/data/app/~~Te9uN82Kx0tK4tVuST3xdQ==/com.example.baiyunmap-IOAbLAegSXIzfYwpq7unmQ==/base.apk' java.io.IOException: Failed to load asset path /data/app/~~Te9uN82Kx0tK4tVuST3xdQ==/com.example.baiyunmap-IOAbLAegSXIzfYwpq7unmQ==/base.apk at android.content.res.ApkAssets.nativeLoad(Native Method) at android.content.res.ApkAssets.<init>(ApkAssets.java:295) at android.content.res.ApkAssets.loadFromPath(ApkAssets.java:144) at android.app.ResourcesManager.loadApkAssets(ResourcesManager.java:469) at android.app.ResourcesManager.access$000(ResourcesManager.java:72) at android.app.ResourcesManager$ApkAssetsSupplier.load(ResourcesManager.java:183) at android.app.ResourcesManager.createAssetManager(ResourcesManager.java:551) at android.app.ResourcesManager.createResourcesImpl(ResourcesManager.java:633) at android.app.ResourcesManager.findOrCreateResourcesImplForKeyLocked(ResourcesManager.java:685) at android.app.ResourcesManager.createResources(ResourcesManager.java:1038) at android.app.ResourcesManager.getResources(ResourcesManager.java:1141) at android.app.ActivityThread.getTopLevelResources(ActivityThread.java:2463) at android.app.ApplicationPackageManager.getResourcesForApplication(ApplicationPackageManager.java:1758) at android.app.ApplicationPackageManager.getResourcesForApplication(ApplicationPackageManager.java:1744) at android.app.ApplicationPackageManager.getDrawable(ApplicationPackageManager.java:1510) at android.app.ApplicationPackageManager.loadUnbadgedItemIcon(ApplicationPackageManager.java:3040) at android.content.pm.PackageItemInfo.loadUnbadgedIcon(PackageItemInfo.java:326) at com.android.systemui.toast.SystemUIToast.getBadgedIcon(SystemUIToast.java:286) at com.android.systemui.toast.SystemUIToast.inflateToastView(SystemUIToast.java:198) at com.android.systemui.toast.SystemUIToast.<init>(SystemUIToast.java:90) at com.android.systemui.toast.SystemUIToast.<init>(SystemUIToast.java:77) at com.android.systemui.toast.ToastFactory.createToast(ToastFactory.java:78) at com.android.systemui.toast.ToastUI.lambda$showToast$0(ToastUI.java:113) at com.android.systemui.toast.ToastUI.$r8$lambda$w_gPCh3F8Xxn1jN4lkQZoUci71c(Unknown Source:0) at com.android.systemui.toast.ToastUI$$ExternalSyntheticLambda0.run(Unknown Source:16) at com.android.systemui.toast.ToastUI.showToast(ToastUI.java:140) at com.android.systemui.statusbar.CommandQueue$H.handleMessage(CommandQueue.java:1451) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.app.ActivityThread.main(ActivityThread.java:8060) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1091)
07-15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值