uni-app 配置微博分享云打包失败
uni-app 配置微博分享云打包失败
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | win7 | HBuilderX |
# 操作步骤:
配置微博分享,提交云打包,打包失败。
# 预期结果:
配置微博分享,提交云打包,打包成功。
# 实际结果:
配置微博分享,提交云打包,打包失败。
# bug描述:
APP添加了微博分享的配置,在云打包就会报错,如果去掉微博分享的配置进行云打包,则可以打包成功。
错误信息如下:
[PackagePath]/app/AndroidManifest.xml:32:13-51 Error:
Attribute provider#androidx.core.content.FileProvider[@authorities](/user/authorities) value=(包名) from [doc_preview.aar] AndroidManifest.xml:32:13-51
is also present at [openDefault-10.10.0.aar] AndroidManifest.xml:64:13-64 value=(包名.fileprovider).
Suggestion: add 'tools:replace=\"android:authorities\"' to element at AndroidManifest.xml:30:9-38:20 to override.
由报错信息看是不是需要调整打包机的AndroidManifest.xml 文件。
更多关于uni-app 配置微博分享云打包失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html
7 回复
UNI377C9F2
在升级HBX之前,不用配置新浪的appkey也可以正常打包分享,升级后,我们配置了申请的新浪分享appkey等配置信息再打包就一直报这个错。
回复 7***@qq.com: 用传统打包试下
回复 DCloud_Android_ST: 刚才已传统打包一次,也是一样的失败信息。
回复 7***@qq.com: Dasu-doc_preview插件导致的。
根据你提供的错误信息,这是典型的AndroidManifest.xml中FileProvider的authorities属性冲突问题。
问题原因: 你的项目中至少有两个模块(doc_preview.aar和openDefault-10.10.0.aar)都声明了相同authorities值的FileProvider。微博分享SDK可能引入了某个库,与uni-app默认的FileProvider配置产生了冲突。
解决方案:
- 修改manifest.json配置:
在uni-app项目的
manifest.json文件中,找到app-plus->distribute->android节点,添加或修改以下配置:
"android": {
"xmls": [
"AndroidManifest.xml"
]
}
- 创建自定义AndroidManifest.xml:
在项目根目录创建
nativeResources/Android目录(如果不存在),然后创建AndroidManifest.xml文件,添加以下内容:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<application>
<!-- 解决FileProvider冲突 -->
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.fileprovider"
android:exported="false"
android:grantUriPermissions="true"
tools:replace="android:authorities">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
</application>
</manifest>

