uni-app 3.2.3 安卓离线打包微信登录导致应用崩溃

uni-app 3.2.3 安卓离线打包微信登录导致应用崩溃

| 开发环境 | 版本号                   | 项目创建方式 |
|----------|--------------------------|--------------|
| PC       | Windows, Android         | CLI          |
| PC版本   | win11, Android 9.0       | CLI版本号2.0.0-32320210825001 |

# bug描述:

3.1.9 版本的没问题  
更新了 3.2.3 的 sdk 后微信登录,从微信跳转回应用后就闪退了。  

是我配置有问题????

更多关于uni-app 3.2.3 安卓离线打包微信登录导致应用崩溃的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

看下崩溃日志是什么。上面发的信息都没用。不是崩溃日志

更多关于uni-app 3.2.3 安卓离线打包微信登录导致应用崩溃的实战教程也可以访问 https://www.itying.com/category-93-b0.html


日志贴上了,看一下?

回复 enderX: 解决了,没有用对应版本sdk导致的吧

根据你的描述,从uni-app 3.1.9升级到3.2.3后,安卓离线打包的微信登录功能在从微信跳转回应用时出现闪退,这很可能是由于SDK版本变更导致的兼容性问题。

主要原因分析:

  1. AndroidManifest.xml配置变更:uni-app 3.2.3可能对微信登录所需的Activity配置进行了调整。请检查AndroidManifest.xml中微信回调Activity的配置,确保其exported属性设置为true,并且包名、类名路径正确。例如:

    <activity
        android:name="你的包名.wxapi.WXEntryActivity"
        android:exported="true"
        android:launchMode="singleTask"
        android:taskAffinity="你的包名"
        android:theme="@android:style/Theme.Translucent.NoTitleBar" />
    
  2. 微信SDK版本不匹配:uni-app 3.2.3可能依赖了更高版本的微信SDK(如6.8.0以上),而你的离线打包工程中引用的微信SDK版本较低。请确保libs目录下的微信SDK(如wechat-sdk-android-without-mta.jarwechat-sdk-android-with-mta.jar)与HBuilderX中使用的版本一致。

  3. 混淆规则问题:如果开启了混淆,请检查proguard-rules.pro中是否添加了微信SDK的混淆保留规则。缺少以下规则可能导致回调时类找不到而崩溃:

    -keep class com.tencent.mm.opensdk.** { *; }
    -keep class com.tencent.wxop.** { *; }
    -keep class com.tencent.mm.sdk.** { *; }
回到顶部