记一次部分机型APP打开就Crash的问题

额..最近在帮朋友做一个APP
刚刚做完,自己的测试机:小米5,华为P6都好好的,但是朋友那边部分手机(三星s7+,小米4)安装完打开APP就Crash掉了.

因为分隔两地,他又不懂Android,虽然我也想直接让他把手机连上adb,直接在IDE里面看错误日志,但是这种事情只能想想就好…

因为集成的Bugly不知道怎么回事,测试的日志还好好的,但是部分机型的crash日志就是不上传,最后想到使用Testin进行测试…

结果真是辣眼睛,我都要怀疑我做的是不是一个假的APP:
这里写图片描述
这里写图片描述

发现crash基本都集中在打开app时

Java Runtime error: java.lang.NoClassDefFoundError: com.android.tools.fd.runtime.AppInfo, Process: com.kusofan.demo

百度一波这个报错就知道是什么原因了…

因为Instant Run啊….

关掉Instant Run,clean project,rebuild,就好了…

还是太年轻,之前都是提供测试的都是签名打的release,都没试过直接给debug包…
要不下次试试看会不会被打死.

<think>好的,用户想知道如何通过小程序打开App的功能实现。我需要先回忆一下相关的引用内容,然后整理出正确的步骤。 根据引用[1],小程序打开App有两种方式:一种是App分享小程序卡片到微信,用户点击后打开小程序,这时候小程序可以打开App;另一种是App主动打开小程序,之后小程序也能打开App。代码里用了`<button>`组件,设置`open-type="launchApp"`,并传递参数。同时需要处理错误和启动事件。 引用[3]提到,用户必须主动触发,比如点击按钮。场景值1069的情况允许打开App,比如从App通过OpenSDK进入微信再打开小程序时。另外,某些场景下会保持之前的状态,比如从最近使用的小程序进入。页面中需要监听`launchAppError`事件,处理可能的错误。 引用[2]和[4]可能涉及其他方法,比如WebView下载APK或支付跳转,但用户的问题更关注直接打开App的功能,所以可能需要集中在官方支持的按钮方式上。 需要分步骤说明:先满足触发条件,比如场景值是否正确;然后在wxml中添加按钮组件,配置参数和事件处理;最后处理可能的错误和兼容性问题。还要注意用户主动触发的要求,避免被微信限制。此外,参数传递和回调函数也需要详细说明,确保开发者能正确实现功能。</think>### 小程序打开App功能实现方式 小程序通过开放能力`launchApp`实现打开原生App的功能,但需满足特定条件并遵循微信官方规范。以下是具体实现步骤及注意事项: --- #### **一、功能实现条件** 1. **场景限制** - 仅支持从App通过OpenSDK进入微信并打开小程序时(场景值1069)[^3] - 部分场景支持保持上次打开App能力的状态(如聊天顶部「最近使用」、浮窗等)[^3] 2. **用户主动触发** - 必须通过用户点击按钮等交互行为触发,不能自动执行[^3] --- #### **二、核心代码实现** 1. **WXML页面配置** 使用`<button>`组件并设置`open-type="launchApp"`,传递参数至App: ```html <button open-type="launchApp" app-parameter="key=value" binderror="launchAppError" >打开App</button> ``` 2. **JS事件监听** 在页面逻辑中处理打开成功或失败的回调: ```javascript Page({ launchAppError(e) { console.log('打开失败原因:', e.detail.errMsg); // 输出错误信息,如"launchApp:fail check fail" } }); ``` --- #### **三、参数传递与兼容性** 1. **参数格式** - `app-parameter`支持字符串类型参数,如`"userid=123&type=share"` - App需解析参数实现特定功能跳转(如打开指定页面)[^1][^3] 2. **兼容性处理** - 基础库需≥2.2.4,部分场景要求≥2.17.3(如聊天主入口最近使用列表)[^3] - 部分安卓机型可能需手动允许「打开其他应用」权限 --- #### **四、典型场景示例** 1. **App分享小程序卡片** - App通过`ShareSDK`分享小程序卡片至微信 - 用户点击卡片进入小程序后,可触发打开App[^1] 2. **跨平台跳转闭环** ```mermaid graph LR A(App) -->|分享小程序卡片| B(微信) B -->|用户点击| C(小程序) C -->|点击按钮| D(返回原App) ``` --- #### **五、常见问题与解决** 1. **无法触发打开App** - 检查场景值是否符合要求(开发者工具可模拟场景值1069) - 确保按钮组件未被遮挡且用户主动触发 2. **参数解析失败** - App端需实现URL参数解析逻辑 - 使用标准键值对格式(如`key1=value1&key2=value2`) ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值