uni踩坑笔记 - 离线打包调起微信分享后从微信返回APP时黑屏

一、问题描述

  • 根据uni官方离线打包配置文档配置好微信分享相关配置后,打包的apk能成功调起微信并进行分享操作,但分享完成后点击回到应用后应用出现黑屏的情况,并在约3-5秒后自动重启。



二、配置步骤

1. 需要将以下jar/aar文件放到工程的libs目录下
share-weixin-release.aar,wechat-sdk-android-without-mta-6.7.9.aar

2. Androidmainfest.xml文件中
  1. 在application节点前添加权限,如下
		<!-- 添加权限 -->
		<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
  1. 在application标签内添加一下配置
	    <!-- 微信分享配置 -->
        <meta-data android:name="WX_APPID" android:value="微信开放平台申请应用的AppID">
        </meta-data>
        <meta-data android:name="WX_SECRET" android:value="微信开放平台申请应用的Secret">
        </meta-data>
        <activity
            android:name="包名.wxapi.WXEntryActivity"
            android:label="@string/app_name"
            android:exported="true"
            android:launchMode="singleTop">
            <intent-filter>
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <data android:scheme="微信开放平台申请应用的AppID"/>
            </intent-filter>
        </activity>
        <!-- 微信分享 配置 end -->

3. dcloud_properties.xml文件中添加如下代码

dcloud_properties.xml文件在assets/data目录下

<feature name="Share" value="io.dcloud.share.ShareFeatureImpl"><module name="Weixin" value="io.dcloud.share.mm.WeiXinApiManager"/></feature>


三、完成以上配置后打包生成apk文件

在这里插入图片描述
在应用内使用分享功能,并点击如图红框的返回按钮返回原应用,原应用出现黑屏的问题,3秒后自动重启应用。



四、解决方案


1.找到在HbuilderX官网下载的SDK目录,找到SDK文件夹

在这里插入图片描述

2.找到第一步目录后,继续进入\SDK\src目录找到wxapi文件夹

在这里插入图片描述

3.进入自己的安卓工程,笔者使用的是HbuilderX官方提供的模版simpleDemo,所以操作的目录为\安卓工程名\simpleDemo\src\main\java

在这里插入图片描述
在该java文件夹内创建多层文件夹,规律为:路径 = 包名
在这里插入图片描述
比如:
若包名为com.icloud.test,则创建后的目录为:/java/com/icloud/test/
若包名为com.abc.edf,则创建后的目录为:/java/com/abc/edf/


4.直接将第2步的wxapi文件夹,拷贝到自己安卓工程中,存放到第3步创建的目录最深层

在这里插入图片描述

5.拷贝完成后,打开wxapi文件夹内的WXEntryActivity.java文件,发现在报错,提示无法解析weixin(下图红色字体的部分)

在这里插入图片描述
1) 将上图红框内的包名改为自己的真实包名
2) 将图中第4行代码
import io.dcloud.feature.oauth.weixin.AbsWXCallbackActivity;
替换为
import io.dcloud.share.mm.AbsWXCallbackActivity;

可以参照dcloud_properties.xml文件中,微信分享配置这一句中module 标签的value属性值“WeiXinApiManager”之前的类,即:io.dcloud.share.mm.XXXXXX。(猜测可能是SDK版本更新后官方的java包配置没有及时同步更新,导致存在这个坑?)

<feature name="Share" value="io.dcloud.share.ShareFeatureImpl"><module name="Weixin" value="io.dcloud.share.mm.WeiXinApiManager"/></feature>
6.修改完成后报错消失

在这里插入图片描述

7.重新打包测试,调用微信分享、微信支付跳转到微信后,可通过微信的返回按钮正常返回到应用内。

五、总结

1.先按照官方文档配置好分享相关的配置,注意APPID、包名等务必正确填写
2.在自己目录内补充所需的java包
3.打包回测





开发小白的日常笔记,有不足或不正确的内容欢迎小伙伴指出和补充!
如果以上内容有帮到各位小伙伴,烦请帮忙点点赞哦!栓Q~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值