GithubHelp home page GithubHelp logo

alipay / mpaas Goto Github PK

View Code? Open in Web Editor NEW
320.0 21.0 55.0 172.73 MB

mPaaS Demo 合集,mPaaS 是源自于支付宝的移动开发平台。The collection of demos for mPaaS components. mPaaS is the Mobile Development Platform which oriented from Alipay.

Home Page: https://tech.antfin.com/docs/2/49549

License: Apache License 2.0

Java 0.93% HTML 3.02% CSS 0.03% Objective-C 41.59% C 45.85% C++ 6.27% JavaScript 2.32% Roff 0.01%
paas mobile-development

mpaas's Introduction

mPaaS H5 容器 10.1.60

30 分钟接入

mPaaS 离线包是什么?

Hybrid 开发模式已不是什么新鲜的话题,不仅可以快速发布新业务,同时无需考虑 App 发版时间,为业务更新迭代提供了极强的灵活性。相比于 Web 开发,Hybrid 开发模式提供了丰富的设备 API,让业务形态可以更加多元和丰富。

mPaaS 离线包源自于支付宝原生方案,经历了严苛的业务考验,让你直接和支付宝使用同一套框架层代码,拥有统一容器及内核,相对系统内核获取更低 Crash 率和 ANR 率,适配性强,并具备良好的、弹性的扩展能力,结合具体业务需求定制 JSAPI。

它解决什么问题?

  • 减少白屏
  • 解决 Hybrid App 跨平台兼容与适配
  • 提升 Hybrid App 性能
  • 原生开发下的包大小优化

实现原理

  • 减少白屏

为了优化 HTML5 容器用户体验,减少白屏时间,我们在 H5 容器中引入了离线包技术。离线包可以简单理解为一个 zip 压缩包,其中包含前端页面所需的 HTML、CSS、JS、图片等资源。内置到客户端后,H5 容器打开离线包页面时会直接从离线包中获取资源,这个是毫秒的访问时间,消除了打开页面白屏现象。

  • 解决 Hybrid App 跨平台兼容与适配

通过 mPaaS 提供的统一 UC 内核,从而快速解决在 Android 设备上“一套代码因系统内核不同,导致展现形式不同”的兼容适配问题。

  • 提升 Hybrid App 性能

为了提升 HTML5 容器稳定性,我们在安卓系统上使用了 UC WebView,其崩溃率和 ANR 率远低于系统浏览器,而且彻底规避了安卓系统 Webview 碎片化问题。

  • 原生开发下的包大小优化

针对离线包,我们做了“业务资源包”和“公共资源包”分类。公共资源包中包含框架 JS、CSS、常见图片等,同时此类资源在整个 App 内仅保存一份;业务资源包仅保存业务所需的页面静态资源,同时各业务间相互独立解耦。从而保证一个业务的页面资源能够同时来自业务资源包和公共资源包,充分优化 App 大小。 基于以上方案,Native 业务可将转化成 HTML5,从而进一步优化 App 大小,实现业务动态下发,按需下载。

你需要准备的

  • 一个原生安卓工程,添加签名切编译出 APK 安装包
  • 在 mPaaS 控制台创建了应用并上传加签后的安装包获得了 *.config 配置文件
  • 配置开发环境(在本教程中以 macOS 下的安卓开发环境为例进行说明)。更多信息,请参考[准备配置](文档中心 - 蚂蚁金服金融科技)
  • 网络连接和网络浏览器(推荐使用 Chrome 浏览器)
  • 一部安卓手机及配套的数据线(手机系统版本为安卓 4.3 或更新,您也可以选择使用模拟器进行调试)

你可以如何接入它?

[步骤零:申请试用]

申请试用 mPaaS 离线包

[Android 端]

[iOS 端]

[步骤四:申请 UC 内核]

申请 UC 内核 Key,预计半个工作日内生效

具体接入文档可参考:mPaaS 容器文档

我们已经服务了谁

容器能力 - 案例墙

欢迎交流 + 反馈 + 拍砖

  • Issue 反馈(如果你遇到任何 bug 或者功能需求,欢迎第一时间让我们知道)
    Issue 地址
  • 加入技术交流群,有问题随时交流

mPaaS 功能试用 - 引流关注

开源许可

This project is under the Apache 2.0 License. See the LICENSE file for the full license text.

Copyright (C) 2015-present, Ant Financial Services Group

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

 	http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Disclaimer(免责声明)

免责声明

mpaas's People

Contributors

antfin-oss avatar josephjin avatar spinytech avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mpaas's Issues

iOS升级到10.1.60后报错如下

Showing Recent Messages
👎 Undefined symbol: _MPMoviePlayerThumbnailImageKey

👎 Undefined symbol: _MPMoviePlayerPlaybackStateDidChangeNotification

👎 Undefined symbol: OBJC_CLASS$_MPRemoteCommandCenter

👎 Undefined symbol: OBJC_CLASS$_MPNowPlayingInfoCenter

👎 Undefined symbol: _MPMoviePlayerThumbnailImageRequestDidFinishNotification

👎 Undefined symbol: _MPMediaItemPropertyArtwork

👎 Undefined symbol: _MPMediaItemPropertyTitle

👎 Undefined symbol: _MPMediaItemPropertyArtist

👎 Undefined symbol: _MPMediaItemPropertyAlbumTitle

👎 Undefined symbol: OBJC_CLASS$_MPVolumeView

👎 Undefined symbol: OBJC_CLASS$_MPMoviePlayerViewController

👎 Undefined symbol: OBJC_CLASS$_MPMediaItemArtwork

👎 Undefined symbol: _MPNowPlayingInfoPropertyElapsedPlaybackTime

👎 Undefined symbol: OBJC_CLASS$_MPMusicPlayerController

👎 Undefined symbol: _MPMediaItemPropertyPlaybackDuration

👎 Undefined symbol: _MPNowPlayingInfoPropertyPlaybackRate

H5BridgeContext 能回调多次

在自定义JSAPI的一次事件中想回调多次,我尝试使用sendBridgeResultWithCallbackKept方法,但无法达到效果,请问有什么方法能达到吗。

关于H5离线包开发-更新问题

请问贵司开发H5离线包:技术框架是使用的kylin作为主导框架?还使用React为主,在进行版本迭代中每次更新是全量更新还是增量更新
eg:例如现在有个A离线页面在线 新完成个B的离线页面 会直接更新所有的?还是说更新进去新做的B页。

扫码和分享组件不能一起使用

如题,单独使用scan组件可以扫码,但如果添加share组件后再调用MPScan.startMPaasScanActivity 方法就会ANR
原生 AAR 方式接入,sdk版本号:10.1.68-42,;另外试过在 android-scan项目中添加share组件依赖也是不行。

[iOS] 如何获得小程序的VC,自定义转场等

  • 小程序版本: 10.1.60

目前仅发现如下方式直接打开小程序, 是否有更灵活的方式操作小程序的容器VC

[MPNebulaAdapterInterface startTinyAppWithId:appId params:dic];

使用以下方式打开Demo中小程序的内置离线包,会一直报错底部的错误

NSString *appId = @"2017072607907880";
UIViewController *vc =
[[MPNebulaAdapterInterface shareInstance] createH5ViewControllerWithNebulaApp:@{
                                                                                @"appId": appId,
                                                                                @"chInfo" : @"MPPortal_home"
                                                                                }];
[self.navigationController pushViewController:vc animated:YES];

[mPaaSTinyApp] H5_JSC_Execute_Error:{
logStr = "ReferenceError: Can't find variable: window{\n "line": 1,\n "column": 10,\n "sourceURL": "https://error.alipay.com/\"\n}";
}

iOS 调用打开在线离线包方法一直报错系统繁忙,请稍后再试。

接入方式:基于原生框架且使用 mPaaS 插件
Xode10.2.1

代码调用方式:
[[MPNebulaAdapterInterface shareInstance] startH5ViewControllerWithNebulaApp:@{@"appId":@"20190901"}];

报错信息:
2019-09-04 15:53:06.804777+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.806691+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkNode: 0x10d758230> client_call node create
2019-09-04 15:53:06.807143+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkNode: 0x10d758230> client_call node happen
2019-09-04 15:53:06.807434+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkNode: 0x10667c170> session_create node create
2019-09-04 15:53:06.807862+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkExpectation: 0x106690fa0>{name = 'session_create'} expectation create
2019-09-04 15:53:06.808200+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkNode: 0x101fc2db0> page_appear node create
2019-09-04 15:53:06.808380+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkNode: 0x106650610> firstRequest_handle node create
2019-09-04 15:53:06.808604+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkNode: 0x1066a0c90> firstRequest_start node create
2019-09-04 15:53:06.808773+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkNode: 0x106686750> page_start node create
2019-09-04 15:53:06.809023+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkNode: 0x106608fa0> page_finish node create
2019-09-04 15:53:06.810972+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkNode: 0x1066baae0> page_fail node create
2019-09-04 15:53:06.811206+0800 quzoudem[1690:836880] [H5MainLink] 0x1060f6c70 main link of app_start 20190901(1567583586807ms) link create
2019-09-04 15:53:06.822770+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.824957+0800 quzoudem[1690:841960] [H5MainLink] main link of app_start 20190901(1567583586807ms) expectation wait session_create, no2019-09-04 15:53:06.825058+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.828511+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.828916+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
w: 1567583586824
2019-09-04 15:53:06.829329+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.835315+0800 quzoudem[1690:836880] [mPaaSTinyApp] H5_APP_PREPARE:{
appId = 20190901;
logStr = "step=noexistForce";
}
2019-09-04 15:53:06.836776+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.837090+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.844533+0800 quzoudem[1690:836880] [mPaaSTinyApp] H5_APP_REQUEST:{
logStr = "step=start^param={"stable":"YES","reqtype":2,"resapp":["20000202","20000196","66666692","20190901","68687209"],"force":true,"localAppInfo":"{\"66666692\":\"1.225.1903021137.11\",\"20000196\":\"6.1.1811141101.21\"}","installedapps":"{\"20000196\":{\"version\":\"6.1.1811141101.21\",\"app_id\":\"20000196\"}}","appInfoSource":0}^list={"20000202":"","20000196":"","66666692":"","20190901":"","68687209":""}";
}
2019-09-04 15:53:06.851939+0800 quzoudem[1690:842017] rpc timeout:20.000000
2019-09-04 15:53:06.855317+0800 quzoudem[1690:837105] Rpc sign string v2:
Operation-Type=alipay.client.getUnionResource&Request-Data=CAESFkVCMkMxMjQzMDE1MjRfSU9TLXRlc3QaBzEuMC4wLjAiBzEuMC4wLjAqGFhXMzdLT3htNjVZREFCemhYbzE1V05iYjIYWFczN0tPeG02NVlEQUJ6aFhvMTVXTmJiOgVhcHBsZUIGaVBob25lYgYxMS4yLjFqBFdJRkl6bAgEMgwKCDIwMDAwMjAyEgAyHQoIMjAwMDAxOTYSETYuMS4xODExMTQxMTAxLjIxMh8KCDY2NjY2NjkyEhMxLjIyNS4xOTAzMDIxMTM3LjExMgwKCDIwMTkwOTAxEgAyDAoINjg2ODcyMDkSAIIBAIoBBWFybTY0&Ts=MpxGqed
2019-09-04 15:53:06.857125+0800 quzoudem[1690:837105] request.allHTTPHeaderFields2:{
AppId = EB2C124301524;
"Content-Type" = "application/protobuf";
Did = XW37KOxm65YDABzhXo15WNbb;
"Operation-Type" = "alipay.client.getUnionResource";
Platform = IOS;
Sign = d27ffd344db76c38888c9844a2ad8cb3;
Ts = MpxGqed;
UniformGateway = "https://cn-hangzhou-component-gw.cloud.alipay.com/mgw.htm";
Version = 2;
WorkspaceId = test;
},url:https://cn-hangzhou-component-gw.cloud.alipay.com/mgw.htm
2019-09-04 15:53:06.857546+0800 quzoudem[1690:837105] start h2:alipay.client.getUnionResource
2019-09-04 15:53:06.902617+0800 quzoudem[1690:837105] alipay.client.getUnionResource resp:{
"Content-Length" = 20;
Date = "Wed, 04 Sep 2019 07:53:06 GMT";
Server = Tengine;
"Strict-Transport-Security" = "max-age=31536000";
"result-memo" = "%E6%93%8D%E4%BD%9C%E6%88%90%E5%8A%9F%E3%80%82";
"result-status" = 1000;
}
2019-09-04 15:53:06.903541+0800 quzoudem[1690:837105] pb class:UnionResourceResult
2019-09-04 15:53:06.905090+0800 quzoudem[1690:837105] pb class:UnionResourceResult object:success: 1
message: 成功
info {
bizType: 4
success: 1
rollback: 0
quickRollback: 0
}
,len:20
2019-09-04 15:53:06.905361+0800 quzoudem[1690:837105] alipay.client.getUnionResource,cdn:0,etag:0 spdy:0 h2:1 pb:0-Response:
{
resultStatus = 1000;
}
2019-09-04 15:53:06.908394+0800 quzoudem[1690:842017] <APDynamicDeploymentNebulaInteraction: 0x10667c580> dealloc
2019-09-04 15:53:06.908856+0800 quzoudem[1690:842017] [mPaaSTinyApp] H5_APP_REQUEST:{
logStr = "step=success^data={}^list={"20000202":"
","20000196":"","66666692":"","20190901":"","68687209":""}";
}
2019-09-04 15:53:06.909777+0800 quzoudem[1690:842017] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.910477+0800 quzoudem[1690:842017] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.916631+0800 quzoudem[1690:842017] [mPaaSTinyApp] H5_APP_PREPARE:{
logStr = "step=finish^appId=20190901^version=^proc=all_80|req_78^req=2^off=0^page=0^err=Error Domain=nebulaappmanager_error_domain Code=10008 "AppNotExist" UserInfo={NSLocalizedDescription=AppNotExist}^errc=10008^nbu=https://render.alipay.com/p/s/tinyapperror/?appId=20190901&errorCode=1001^err=[10008]AppNotExist";
}
2019-09-04 15:53:06.917852+0800 quzoudem[1690:842017] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.918460+0800 quzoudem[1690:842017] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.919245+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.919712+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.922579+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkNode: 0x1027f0930> client_call node create
2019-09-04 15:53:06.922766+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkNode: 0x1027f0930> client_call node happen
2019-09-04 15:53:06.922941+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkNode: 0x106688370> session_create node create
2019-09-04 15:53:06.923208+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkExpectation: 0x1066a6250>{name = 'session_create'} expectation create
2019-09-04 15:53:06.923360+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkNode: 0x106620e60> page_appear node create
2019-09-04 15:53:06.923426+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkNode: 0x10668bd10> firstRequest_handle node create
2019-09-04 15:53:06.923482+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkNode: 0x102720620> firstRequest_start node create
2019-09-04 15:53:06.923542+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkNode: 0x101fe9590> page_start node create
2019-09-04 15:53:06.924542+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkNode: 0x1020e6710> page_finish node create
2019-09-04 15:53:06.924617+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkNode: 0x106004c20> page_fail node create
2019-09-04 15:53:06.924694+0800 quzoudem[1690:836880] [H5MainLink] 0x1066b64a0 main link of app_start 20000067(1567583586922ms) link create
2019-09-04 15:53:06.925226+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.925606+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.925827+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.926010+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.926697+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.92019-09-04 15:53:06.927918+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.929570+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.929938+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.930244+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
23660+0800 quzoudem[1690:842021] [H5MainLink] main link of app_start 20000067(1567583586922ms) expectation wait session_create, now: 1567583586923
2019-09-04 15:53:06.931255+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.931514+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.931707+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.931951+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.960508+0800 quzoudem[1690:836880] [mPaaSTinyApp] H5_APP_LOAD_DATASOURCE:{
appId = 20000196;
version = "6.1.1811141101.21";
}
2019-09-04 15:53:06.961161+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.961371+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.961568+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.964770+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkNode: 0x106688370> session_create node happen
2019-09-04 15:53:06.964892+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkExpectation: 0x106621de0>{name = 'page_appear'} expectation create
2019-09-04 15:53:06.965150+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkExpectation: 0x106073320>{name = 'firstRequest_handle'} expectation create
2019-09-04 15:53:06.965172+0800 quzoudem[1690:841862] [H5MainLink] main link of app_start 20000067(1567583586922ms) expectation wait page_appear, now: 1567583586965
2019-09-04 15:53:06.965286+0800 quzoudem[1690:842021] [H5MainLink] main link of app_start 20000067(1567583586922ms) expectation wait firstRequest_handle, now: 1567583586965
2019-09-04 15:53:06.966254+0800 quzoudem[1690:836880]


POSEIDON内核抛出的断言(Kernel Assert):
函数:-[PSDJsApi initWithName:handlerClass:checkParams:scope:]-43
condition=handlerClass desc=StockQEH5PluginEventRegister
2019-09-04 15:53:06.966730+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.967029+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.968249+0800 quzoudem[1690:836880] POSEIDON内核抛出的警告(Kernel Warning):
函数:【-[PSDJsApiManager registerJsApi:groupId:]_block_invoke】 在其他分组已经存在JsApi:setTitle,该操作会覆盖其他的api!
2019-09-04 15:53:06.969103+0800 quzoudem[1690:836880] POSEIDON内核抛出的警告(Kernel Warning):
函数:【-[PSDPluginManager registerPlugin:groupId:]】 已经存在Plugin:NBLogPlugin4SPM,注册失败!
2019-09-04 15:53:06.971388+0800 quzoudem[1690:836880] xxx
2019-09-04 15:53:06.971473+0800 quzoudem[1690:836880] xxx
2019-09-04 15:53:06.971651+0800 quzoudem[1690:836880] xxx
2019-09-04 15:53:06.971727+0800 quzoudem[1690:836880] xxx
2019-09-04 15:53:06.971825+0800 quzoudem[1690:836880] xxx
2019-09-04 15:53:06.972254+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.972460+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.972707+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.972970+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:06.977736+0800 quzoudem[1690:836880] The service specified by name 'XTPortalService' not found.
2019-09-04 15:53:06.995898+0800 quzoudem[1690:836880] H5NavigationTitleView setFrame <H5NavigationTitleView: 0x1066b0a80; frame = (-187.5 -22; 375 44); layer = <CALayer: 0x1066b0d70>> {{0, 0}, {375, 44}}
2019-09-04 15:53:06.996766+0800 quzoudem[1690:836880] H5NavigationTitleView created <H5NavigationTitleView: 0x1066b0a80; frame = (0 0; 375 44); clipsToBounds = YES; layer = <CALayer: 0x1066b0d70>>
2019-09-04 15:53:06.997634+0800 quzoudem[1690:836880] H5NavigationTitleView setMainTitle-subtitle <H5NavigationTitleView: 0x1066b0a80; frame = (0 0; 375 44); clipsToBounds = YES; layer = <CALayer: 0x1066b0d70>>
2019-09-04 15:53:07.003695+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkNode: 0x10668bd10> firstRequest_handle node happen
2019-09-04 15:53:07.003865+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkExpectation: 0x1066b48d0>{name = 'firstRequest_start'} expectation create
2019-09-04 15:53:07.004077+0800 quzoudem[1690:842031] [H5MainLink] main link of app_start 20000067(1567583586922ms) expectation wait firstRequest_start, now: 1567583587004
2019-09-04 15:53:07.004273+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:07.004799+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkNode: 0x102720620> firstRequest_start node happen
2019-09-04 15:53:07.004935+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkExpectation: 0x1060fb940>{name = 'page_start'} expectation create
2019-09-04 15:53:07.005091+0800 quzoudem[1690:842031] [H5MainLink] main link of app_start 20000067(1567583586922ms) expectation wait page_start, now: 1567583587005
2019-09-04 15:53:07.005101+0800 quzoudem[1690:836880] 内核...scene=<PSDScene: 0x10d7a18d0>, parent=<PSDSession: 0x10d7518c0>
2019-09-04 15:53:07.005820+0800 quzoudem[1690:836880] ...didCreate...
2019-09-04 15:53:07.006089+0800 quzoudem[1690:836880] ...<PSDScene: 0x10d7a18d0> <PSDSession: 0x10d7518c0>
2019-09-04 15:53:07.008383+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:07.012322+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:07.016645+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:07.041080+0800 quzoudem[1690:836880] ...<PSDScene: 0x10d7a18d0> <PSDSession: 0x10d7518c0> (
"<PSDScene: 0x10d7a18d0>"
) <PSDView: 0x1020a6210>
2019-09-04 15:53:07.042422+0800 quzoudem[1690:836880] 内核...sendData...appearFirst
2019-09-04 15:53:07.047242+0800 quzoudem[1690:836880] ...willStartLaunch...
2019-09-04 15:53:07.047329+0800 quzoudem[1690:836880] ...didFinishLaunch...
2019-09-04 15:53:07.060894+0800 quzoudem[1690:836880] H5NavigationTitleView setFrame <H5NavigationTitleView: 0x1066b0a80; frame = (0 0; 375 44); clipsToBounds = YES; layer = <CALayer: 0x1066b0d70>> {{0, 0}, {375, 44}}
2019-09-04 15:53:07.065450+0800 quzoudem[1690:836880] H5NavigationTitleView setFrame <H5NavigationTitleView: 0x1066b0a80; frame = (0 0; 375 44); clipsToBounds = YES; layer = <CALayer: 0x1066b0d70>> {{0, 0}, {261.5, 44}}
2019-09-04 15:53:07.113321+0800 quzoudem[1690:836880] ...url=https://render.alipay.com/p/s/tinyapperror/?appId=20190901&errorCode=1001
2019-09-04 15:53:07.114259+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:07.114518+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:07.114608+0800 quzoudem[1690:836880] h5_load_url url={https://render.alipay.com/p/s/tinyapperror/?appId=20190901&errorCode=1001}
2019-09-04 15:53:07.115025+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:07.122102+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkNode: 0x101fe9590> page_start node happen
2019-09-04 15:53:07.122301+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkExpectation: 0x10d758190>{name = 'page_finish'} expectation create
2019-09-04 15:53:07.122463+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkExpectation: 0x1060f9e20>{name = 'page_fail'} expectation create
2019-09-04 15:53:07.123298+0800 quzoudem[1690:842031] [H5MainLink] main link of app_start 20000067(1567583586922ms) expectation wait page_finish|page_fail, now: 1567583587123
2019-09-04 15:53:07.123922+0800 quzoudem[1690:842021] [H5MainLink] main link of app_start 20000067(1567583586922ms) expectation wait page_finish|page_fail, now: 1567583587123
2019-09-04 15:53:07.137172+0800 quzoudem[1690:837168] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:07.161849+0800 quzoudem[1690:836880] [DFMicroApplication(20190901) dealloc]
2019-09-04 15:53:07.267478+0800 quzoudem[1690:837168] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:07.267707+0800 quzoudem[1690:837168] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:07.273160+0800 quzoudem[1690:837156] WF: _userSettingsForUser mobile: {
filterBlacklist = (
);
filterWhitelist = (
);
restrictWeb = 1;
useContentFilter = 0;
useContentFilterOverrides = 0;
whitelistEnabled = 0;
}
2019-09-04 15:53:07.274753+0800 quzoudem[1690:837156] WF: _WebFilterIsActive returning: NO
2019-09-04 15:53:07.285492+0800 quzoudem[1690:837168] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:07.285637+0800 quzoudem[1690:836880] H5NavigationTitleView setMainTitle-subtitle <H5NavigationTitleView: 0x1066b0a80; frame = (0 0; 261.5 44); clipsToBounds = YES; animations = { opacity=<CABasicAnimation: 0x10d75d560>; }; layer = <CALayer: 0x1066b0d70>> 提示 (null)
2019-09-04 15:53:07.290160+0800 quzoudem[1690:837168] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:07.295345+0800 quzoudem[1690:836880] ...url=about:blank
2019-09-04 15:53:07.302865+0800 quzoudem[1690:837168] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:07.302954+0800 quzoudem[1690:837168] [dynamicScript]:(null)
2019-09-04 15:53:07.304764+0800 quzoudem[1690:837168] [H5]:inject with http request
2019-09-04 15:53:07.306841+0800 quzoudem[1690:837168] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:07.452832+0800 quzoudem[1690:836880] ...url=about:blank
2019-09-04 15:53:07.458850+0800 quzoudem[1690:836880] ...url=alipaybridge://dispatch_message
2019-09-04 15:53:07.460866+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:07.463801+0800 quzoudem[1690:836880] [spm]:rpc add header pagets:{
}
2019-09-04 15:53:07.464130+0800 quzoudem[1690:836880] h5_rpc_call parma:{
headers = {
"x-basement-operation" = "com.alipay.h5data.fengdie.get";
};
operationType = "com.alipay.basement.gateway.unauthorizedEndpoint";
requestData = (
{
path = "miniprograms/config/error-h5data";
}
);
timeout = 5;
}
2019-09-04 15:53:07.464660+0800 quzoudem[1690:842033] rpc timeout:5.000000
2019-09-04 15:53:07.469025+0800 quzoudem[1690:837105] rpcV1 sign v1 appKey:EB2C124301524_IOS sign:ea0127ee433ceb5a1cb63d37dd90240c,content:operationType=com.alipay.basement.gateway.unauthorizedEndpoint&requestData=[{"path":"miniprograms/config/error-h5data"}]&ts=MpxGqoC
2019-09-04 15:53:07.475521+0800 quzoudem[1690:837105] APMobileNetwork,encrypt srcLen:178,asym:3,seckeyLen:33,secDataLen:192,deKeyLen:33,bodyLen:233
2019-09-04 15:53:07.476034+0800 quzoudem[1690:837105] request.allHTTPHeaderFields1:{
AppId = EB2C124301524;
Connection = "Keep-Alive";
"Content-Length" = 233;
"Content-Type" = "application/x-www-form-urlencoded;charset=utf-8";
"Keep-Alive" = "timeout=180, max=100";
Platform = IOS;
UniformGateway = "https://cn-hangzhou-component-gw.cloud.alipay.com/mgw.htm";
WorkspaceId = test;
did = XW37KOxm65YDABzhXo15WNbb;
uuid = "5db1e69b-24b3-4b3e-acc1-c22424cd17c1";
"x-basement-operation" = "com.alipay.h5data.fengdie.get";
"x-mgs-encryption" = 1;
},url:https://cn-hangzhou-mgs-gw.cloud.alipay.com/mgw.htm
2019-09-04 15:53:07.486550+0800 quzoudem[1690:836880] H5NavigationTitleView setFrame <H5NavigationTitleView: 0x1066b0a80; frame = (0 0; 261.5 44); clipsToBounds = YES; layer = <CALayer: 0x1066b0d70>> {{0, 0}, {297.5, 44}}
2019-09-04 15:53:07.490921+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkNode: 0x106620e60> page_appear node happen
2019-09-04 15:53:07.506063+0800 quzoudem[1690:836880] H5NavigationTitleView setMainTitle-subtitle <H5NavigationTitleView: 0x1066b0a80; frame = (0 0; 297.5 44); clipsToBounds = YES; layer = <CALayer: 0x1066b0d70>> 提示
2019-09-04 15:53:07.507537+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:07.507970+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:07.508176+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:07.508339+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:07.508701+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:07.508868+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:07.509025+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:07.509314+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:07.511669+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:07.512625+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkNode: 0x1020e6710> page_finish node happen
2019-09-04 15:53:07.513823+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkNode: 0x1020e6710> page_finish link finish
2019-09-04 15:53:07.515232+0800 quzoudem[1690:836880] [H5MainLink] 0x1066b64a0 main link of app_start 20000067(1567583586922ms) link dealloc
2019-09-04 15:53:07.515307+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkNode: 0x1027f0930> client_call node dealloc
2019-09-04 15:53:07.515501+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkExpectation: 0x1066a6250>{name = 'session_create'} expectation dealloc
2019-09-04 15:53:07.515575+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkNode: 0x106688370> session_create node dealloc
2019-09-04 15:53:07.515675+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkExpectation: 0x106621de0>{name = 'page_appear'} expectation dealloc
2019-09-04 15:53:07.515845+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkExpectation: 0x106073320>{name = 'firstRequest_handle'} expectation dealloc
2019-09-04 15:53:07.515940+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkNode: 0x106620e60> page_appear node dealloc
2019-09-04 15:53:07.521592+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkNode: 0x10668bd10> firstRequest_handle node dealloc
2019-09-04 15:53:07.521790+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkExpectation: 0x1066b48d0>{name = 'firstRequest_start'} expectation dealloc
2019-09-04 15:53:07.521838+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkNode: 0x102720620> firstRequest_start node dealloc
2019-09-04 15:53:07.521934+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkExpectation: 0x1060fb940>{name = 'page_start'} expectation dealloc
2019-09-04 15:53:07.521977+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkNode: 0x101fe9590> page_start node dealloc
2019-09-04 15:53:07.522066+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkExpectation: 0x10d758190>{name = 'page_finish'} expectation dealloc
2019-09-04 15:53:07.522107+0800 quzoudem[1690:836880] [H5MainLink] <H5MainLinkNode: 0x1020e6710> page_finish node dealloc
2019-09-04 15:53:07.516118+0800 quzoudem[1690:842021] [H5MainLink] <H5MainLinkExpectation: 0x1060f9e20>{name = 'page_fail'} expectation dealloc
2019-09-04 15:53:07.531688+0800 quzoudem[1690:842021] [H5MainLink] <H5MainLinkNode: 0x106004c20> page_fail node dealloc
2019-09-04 15:53:07.523205+0800 quzoudem[1690:837105] com.alipay.basement.gateway.unauthorizedEndpoint resp:{
"Content-Length" = 0;
"Content-Type" = "text/plain;charset=UTF-8";
Date = "Wed, 04 Sep 2019 07:53:07 GMT";
Server = Tengine;
memo = "%E8%AF%B7%E6%B1%82%E6%95%B0%E6%8D%AE%E4%B8%BA%E7%A9%BA";
"mgw-traceid" = 0a841ae0156758358739038482211;
"result-status" = 3001;
"server-time" = 1567583587528;
tips = "%E7%B3%BB%E7%BB%9F%E7%B9%81%E5%BF%99%EF%BC%8C%E8%AF%B7%E7%A8%8D%E5%90%8E%E5%86%8D%E8%AF%95%E3%80%82";
}
2019-09-04 15:53:07.533362+0800 quzoudem[1690:837105] com.alipay.basement.gateway.unauthorizedEndpoint,cdn:0,etag:0 spdy:0 h2:1 0-Response:
(null)
2019-09-04 15:53:07.534634+0800 quzoudem[1690:842033] exception name = DTRpcException
2019-09-04 15:53:07.535120+0800 quzoudem[1690:842033] exception description = 服务端返回的数据格式不正确。
2019-09-04 15:53:07.535488+0800 quzoudem[1690:842033] exception userInfo = {
NSLocalizedDescription = "\U670d\U52a1\U7aef\U8fd4\U56de\U7684\U6570\U636e\U683c\U5f0f\U4e0d\U6b63\U786e\U3002";
NSLocalizedFailureReason = "The response string: ";
operation = "<DTRpcOperation: 0x10666bac0>";
response = "<NSHTTPURLResponse: 0x10d77dbe0> { URL: https://cn-hangzhou-mgs-gw.cloud.alipay.com/mgw.htm } { Status Code: 200, Headers {\n "Content-Length" = (\n 0\n );\n "Content-Type" = (\n "text/plain;charset=UTF-8"\n );\n Date = (\n "Wed, 04 Sep 2019 07:53:07 GMT"\n );\n Server = (\n Tengine\n );\n memo = (\n "%E8%AF%B7%E6%B1%82%E6%95%B0%E6%8D%AE%E4%B8%BA%E7%A9%BA"\n );\n "mgw-traceid" = (\n 0a841ae0156758358739038482211\n );\n "result-status" = (\n 3001\n );\n "server-time" = (\n 1567583587528\n );\n tips = (\n "%E7%B3%BB%E7%BB%9F%E7%B9%81%E5%BF%99%EF%BC%8C%E8%AF%B7%E7%A8%8D%E5%90%8E%E5%86%8D%E8%AF%95%E3%80%82"\n );\n} }";
}
2019-09-04 15:53:07.541107+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:07.541527+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:07.555474+0800 quzoudem[1690:836880] ...url=alipaybridge://dispatch_message
2019-09-04 15:53:07.556678+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:07.556958+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:07.562634+0800 quzoudem[1690:836880] ...url=alipaybridge://dispatch_message
2019-09-04 15:53:07.564876+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:07.565121+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:07.565603+0800 quzoudem[1690:836880] [spm]:rpc add header pagets:{
}
2019-09-04 15:53:07.565901+0800 quzoudem[1690:836880] h5_rpc_call parma:{
operationType = "alipay.mappconfig.queryAppDetail";
requestData = (
{
appId = 20190901;
}
);
timeout = 5;
}
2019-09-04 15:53:07.566762+0800 quzoudem[1690:842021] rpc timeout:5.000000
2019-09-04 15:53:07.568347+0800 quzoudem[1690:837105] rpcV1 sign v1 appKey:EB2C124301524_IOS sign:5bff57679b262e837a7f7e8e7cf5646c,content:operationType=alipay.mappconfig.queryAppDetail&requestData=[{"appId":"20190901"}]&ts=MpxGqpm
2019-09-04 15:53:07.572070+0800 quzoudem[1690:837105] APMobileNetwork,encrypt srcLen:151,asym:3,seckeyLen:33,secDataLen:160,deKeyLen:33,bodyLen:201
2019-09-04 15:53:07.572662+0800 quzoudem[1690:837105] request.allHTTPHeaderFields1:{
AppId = EB2C124301524;
Connection = "Keep-Alive";
"Content-Length" = 201;
"Content-Type" = "application/x-www-form-urlencoded;charset=utf-8";
"Keep-Alive" = "timeout=180, max=100";
Platform = IOS;
UniformGateway = "https://cn-hangzhou-component-gw.cloud.alipay.com/mgw.htm";
WorkspaceId = test;
did = XW37KOxm65YDABzhXo15WNbb;
uuid = "46a86973-1c08-4911-b9ea-2cc951dbcee7";
"x-mgs-encryption" = 1;
},url:https://cn-hangzhou-mgs-gw.cloud.alipay.com/mgw.htm
2019-09-04 15:53:07.601883+0800 quzoudem[1690:837105] alipay.mappconfig.queryAppDetail resp:{
"Content-Length" = 0;
"Content-Type" = "text/plain;charset=UTF-8";
Date = "Wed, 04 Sep 2019 07:53:07 GMT";
Server = Tengine;
memo = "%E6%95%B0%E6%8D%AE%E6%A0%BC%E5%BC%8F%E6%9C%89%E8%AF%AF";
"mgw-traceid" = 0a1d75d11567583587533621812750;
"result-status" = 3002;
"server-time" = 1567583587615;
tips = "%E6%8A%B1%E6%AD%89%EF%BC%8C%E6%9A%82%E6%97%B6%E6%97%A0%E6%B3%95%E6%93%8D%E4%BD%9C%EF%BC%8C%E8%AF%B7%E7%A8%8D%E5%90%8E%E5%86%8D%E8%AF%95%E3%80%82";
}
2019-09-04 15:53:07.602692+0800 quzoudem[1690:837105] alipay.mappconfig.queryAppDetail,cdn:0,etag:0 spdy:0 h2:1 0-Response:
(null)
2019-09-04 15:53:07.604574+0800 quzoudem[1690:842021] exception name = DTRpcException
2019-09-04 15:53:07.604677+0800 quzoudem[1690:842021] exception description = 服务端返回的数据格式不正确。
2019-09-04 15:53:07.605169+0800 quzoudem[1690:842021] exception userInfo = {
NSLocalizedDescription = "\U670d\U52a1\U7aef\U8fd4\U56de\U7684\U6570\U636e\U683c\U5f0f\U4e0d\U6b63\U786e\U3002";
NSLocalizedFailureReason = "The response string: ";
operation = "<DTRpcOperation: 0x1027fb1b0>";
response = "<NSHTTPURLResponse: 0x10d711b10> { URL: https://cn-hangzhou-mgs-gw.cloud.alipay.com/mgw.htm } { Status Code: 200, Headers {\n "Content-Length" = (\n 0\n );\n "Content-Type" = (\n "text/plain;charset=UTF-8"\n );\n Date = (\n "Wed, 04 Sep 2019 07:53:07 GMT"\n );\n Server = (\n Tengine\n );\n memo = (\n "%E6%95%B0%E6%8D%AE%E6%A0%BC%E5%BC%8F%E6%9C%89%E8%AF%AF"\n );\n "mgw-traceid" = (\n 0a1d75d11567583587533621812750\n );\n "result-status" = (\n 3002\n );\n "server-time" = (\n 1567583587615\n );\n tips = (\n "%E6%8A%B1%E6%AD%89%EF%BC%8C%E6%9A%82%E6%97%B6%E6%97%A0%E6%B3%95%E6%93%8D%E4%BD%9C%EF%BC%8C%E8%AF%B7%E7%A8%8D%E5%90%8E%E5%86%8D%E8%AF%95%E3%80%82"\n );\n} }";
}
2019-09-04 15:53:07.607224+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:07.607632+0800 quzoudem[1690:836880] The service specified by name 'MPDefaultConfigService' not found.
2019-09-04 15:53:07.998931+0800 quzoudem[1690:836880] ...url=alipaymonitor://dispatch_monitor_message

mpaas双屏异显如何做呢?

目前有需求用商米的双屏android设备做收银设备,有顾客屏和店员屏幕,需要联动。用mpaas如何来操作实现呢?

iOS基于原生框架使用插件添加H5容器,加载URL报错

基于原生框架使用插件添加H5容器,执行文档上教程 [[MPNebulaAdapterInterface shareInstance] startH5ViewControllerWithParams:@{@"url":@"https://tech.antfin.com"}]; 时报错

2019-10-21 15:02:27.928728+0800 平安社区[18978:1106319] ...url=https://tracert.alipay.com/cross.html
2019-10-21 15:02:27.930962+0800 平安社区[18978:1106319] 内核dealloc...<PSDPage: 0x2824275a0>
2019-10-21 15:02:28.239374+0800 平安社区[18978:1106653] WF: _userSettingsForUser mobile: {
filterBlacklist = (
);
filterWhitelist = (
);
noOverridingAllowed = 1;
restrictWeb = 1;
useContentFilter = 0;
useContentFilterOverrides = 0;
whitelistEnabled = 0;
}
2019-10-21 15:02:28.239527+0800 平安社区[18978:1106653] WF: _WebFilterIsActive returning: NO
2019-10-21 15:02:30.703573+0800 平安社区[18978:1106319] ...willTerminate...
2019-10-21 15:02:30.704160+0800 平安社区[18978:1106319] 内核dealloc...<PSDSession: 0x28243f300>
2019-10-21 15:02:30.704450+0800 平安社区[18978:1106319] ...NBSession dealloc
2019-10-21 15:02:30.704761+0800 平安社区[18978:1106319] PSDScene dealloc
2019-10-21 15:02:30.705075+0800 平安社区[18978:1106319] 内核dealloc...<PSDScene: 0x28243f4e0>
2019-10-21 15:02:30.706236+0800 平安社区[18978:1106319] 内核dealloc...<PSDView: 0x282b05ea0>
2019-10-21 15:02:30.706441+0800 平安社区[18978:1106319] 内核dealloc...<PSDPage: 0x282411ec0>
2019-10-21 15:02:30.709385+0800 平安社区[18978:1106319] ...
2019-10-21 15:02:30.724708+0800 平安社区[18978:1106713] TIC Read Status [26:0x0]: 1:57
2019-10-21 15:02:31.105641+0800 平安社区[18978:1106319] [注意!!!] startSession 参数中未包含版本号
2019-10-21 15:02:31.106784+0800 平安社区[18978:1106319]


POSEIDON内核抛出的断言(Kernel Assert):
函数:-[PSDService jsApi:]-245
condition=_myFlags.isStarted desc=localLog
2019-10-21 15:02:31.107347+0800 平安社区[18978:1106319]


POSEIDON内核抛出的断言(Kernel Assert):
函数:-[PSDService jsApi:]-245
condition=_myFlags.isStarted desc=localLog
2019-10-21 15:02:31.108654+0800 平安社区[18978:1106319]


POSEIDON内核抛出的断言(Kernel Assert):
函数:-[PSDService createSessionWithSessionParam:expando:]-157
condition=_myFlags.isStarted
2019-10-21 15:02:31.133980+0800 平安社区[18978:1106319] POSEIDON内核抛出的警告(Kernel Warning):
函数:【-[PSDJsApiManager registerJsApi:groupId:]_block_invoke】 在其他分组已经存在JsApi:setTitle,该操作会覆盖其他的api!
2019-10-21 15:02:31.161196+0800 平安社区[18978:1106319] -[UIViewController options]: unrecognized selector sent to instance 0x10fd0fe60
2019-10-21 15:02:31.278432+0800 平安社区[18978:1106319] invalid mode 'kCFRunLoopCommonModes' provided to CFRunLoopRunSpecific - break on _CFRunLoopError_RunCalledWithInvalidMode to debug. This message will only appear once per execution.
2019-10-21 15:02:31 UMengAnalytics<6.0.1>(Debug):[UMANError:62]UMAnalytics error:session_id=BF12E7320C2BC4B56BCF37B1A7B4C01E, context=-[UIViewController options]: unrecognized selector sent to instance 0x10fd0fe60
(null)
((
0 CoreFoundation 0x00000001e01e9294 + 252
1 libobjc.A.dylib 0x00000001df3c39f8 objc_exception_throw + 56
2 CoreFoundation 0x00000001e0105ab8 + 0
3 UIKitCore 0x000000020c9d6f60 + 280
4 CoreFoundation 0x00000001e01eeac4 + 1408
5 CoreFoundation 0x00000001e01f075c _CF_forwarding_prep_0 + 92
6 平安社区 0x00000001026e3ac0 -[Plugin4TitleView handleEvent:] + 2284
7 平安社区 0x0000000102965724 -[PSDKernel handleEvent:evenListenersDict:] + 1584
8 平安社区 0x0000000102965950 -[PSDKernel handleNormalEvent:] + 88
9 平安社区 0x0000000102966580 -[PSDKernel fireEvent:] + 92
10 平安社区 0x00000001029663c0 -[PSDKernel dispatchEvent:] + 832
11 平安社区 0x000000010291d6c0 -[NBViewControllerProxy dispatchEvent:] + 80
12 平安社区 0x000000010291d738 -[NBViewControllerProxy sendCreateNavigationTitleViewEvent] + 80
13 平安社区 0x000000010291fca8 -[NBViewControllerProxy initUI:delegate:] + 1100
14 平安社区 0x000000010293a4c4 -[UIViewController(NBLifecycle) initUI:delegate:] + 100
15 平安社区 0x000000010297b670 -[PSDScene initWithSceneParam:parentObject:] + 1312
16 平安社区 0x000000010297c030 +[PSDScene sceneWithSceneParam:parentObject:] + 108
17 平安社区 0x000000010296b23c -[PSDSession initWithSessionParam:expando:parentObject:] + 1080
18 平安社区 0x000000010296b42c +[PSDSession sessionWithSessionParam:expando:parentObject:] + 128
19 平安社区 0x000000010295c57c -[PSDService createSessionWithSessionParam:expando:] + 288
20 平安社区 0x00000001029430c8 -[NBSession initWithContext:] + 1940
21 平安社区 0x000000010292c8d4 -[NBSessionFactory createSession:] + 76
22 平安社区 0x000000010293d3d8 -[NBSessionManager session4Context:createIfNoExist:] + 620
23 平安社区 0x0000000102946e6c -[NBContext startSession:animated:] + 288
24 平安社区 0x000000010292ed80 -[NBService startSession:animated:] + 336
25 平安社区 0x0000000102ae6d2c -[MPNebulaAdapterInterface startH5ViewControllerWithParams:] + 112
26 平安社区 0x000000010070d730 -[TempViewController meterButtonClick:] + 236
27 UIKitCore 0x000000020c9ad040 + 96
28 UIKitCore 0x000000020c4561c8 + 80
29 UIKitCore 0x000000020c4564e8 + 440
30 UIKitCore 0x000000020c455554 + 568
31 平安社区 0x000000010095b150 __23+[UIControl(QMUI) load]_block_invoke_4.68 + 524
32 UIKitCore 0x000000020c9e4304 + 2108
33 UIKitCore 0x000000020c9e552c + 3140
34 UIKitCore 0x000000020c9c559c + 340
35 UIKitCore 0x000000020ca8b714 + 1768
36 UIKitCore 0x000000020ca8de40 + 4828
37 UIKitCore 0x000000020ca87070 + 152
38 CoreFoundation 0x00000001e017b018 + 24
39 CoreFoundation 0x00000001e017af98 + 88
40 CoreFoundation 0x00000001e017a880 + 176
41 CoreFoundation 0x00000001e01757bc + 1004
42 CoreFoundation 0x00000001e01750b0 CFRunLoopRunSpecific + 436
43 GraphicsServices 0x00000001e237579c GSEventRunModal + 104
44 UIKitCore 0x000000020c9ab978 UIApplicationMain + 212
45 平安社区 0x00000001006f98a4 main + 160
46 libdyld.dylib 0x00000001dfc3a8e0 + 4
)

dSYM UUID: DEF75525-A351-3F4B-9B75-2FAD75E49FA1
CPU Type: arm64
Slide Address: 0x0000000100000000
Binary Image: 平安社区
Base Address: 0x00000001006c4000

2019-10-21 15:02:31 UMengAnalytics<6.0.1>(Debug):[UMANTerminate:126]UMAnalytics session:session_id=BF12E7320C2BC4B56BCF37B1A7B4C01E, duration=33113.000000
libc++abi.dylib: terminate_handler unexpectedly threw an exception
(lldb)

iOS打开本地预置离线包,一直打开失败。

参考官网代码链接:https://tech.antfin.com/docs/2/133648

1、初始化容器代码:

// 自定义jsapi路径和预置离线包信息
let presetApplistPath = Bundle.main.path(forResource: "BCSCustomPresetApps.bundle/h5_json.json", ofType: nil)
let appPackagePath = Bundle.main.path(forResource: "BCSCustomPresetApps.bundle", ofType: nil)
let pluginsJsapisPath = Bundle.main.path(forResource: "BCSCustomPlugins.bundle/Poseidon-UserDefine-Extra-Config.plist", ofType: nil)
MPNebulaAdapterInterface.initNebula(withCustomPresetApplistPath: presetApplistPath!, customPresetAppPackagePath: appPackagePath!, customPluginsJsapisPath: pluginsJsapisPath!)


// 定制容器
MPNebulaAdapterInterface.shareInstance().nebulaVeiwControllerClass = H5WebViewController.self
MPNebulaAdapterInterface.shareInstance().nebulaUserAgent = "mPaaS/Portal"
MPNebulaAdapterInterface.shareInstance().nebulaNeedVerify = false

// 更新离线包
MPNebulaAdapterInterface.shareInstance().requestAllNebulaApps { (data, error) in
    //            debugPrint("[mpaas] nebula rpc data : \(data)")
    debugPrint(data)
}

2、预置离线包配置Bundle信息:
屏幕快照 2019-09-10 上午11 29 52

3、打开预置离线包代码:

    // MARK: 预置离线包i
    @objc func openPresetPackage(_ sender: UIButton) {
        MPNebulaAdapterInterface.shareInstance().startH5ViewController(withNebulaApp: ["appId": "20190901"])
    }

4、报错页面
IMG_0151

离线包更新失败

按照文档和视频的都试过,执行下面方法
MPNebula.updateAllApp(new MpaasNebulaUpdateCallback() {
@OverRide
public void onResult(final boolean success, final boolean isLimit) {
// success 为是否成功
runOnUiThread(new Runnable() {
@OverRide
public void run() {
Toast.makeText(MainActivity.this, success ? "离线包更新成功" : "离线包更新失败", Toast.LENGTH_SHORT).show();
}
});
}
});

success 一直为false,看文档很多次都没看到有什么问题。有谁知道到底缺少了什么步骤?

Android 启动页出现java.lang.UnsatisfiedLinkError

2019-09-11 12:48:49.313 5935-6095/com.mpaas.demo E/automationcrash: Force End parse for automation
2019-09-11 12:48:49.314 5935-6095/com.mpaas.demo E/LauncherApplication: [ORDERED_2] java.lang.UnsatisfiedLinkError: No implementation found for int com.alibaba.sqlcrypto.sqlite.SQLiteConnection.nativeOpen(java.lang.String, int, java.lang.String, boolean, boolean) (tried Java_com_alibaba_sqlcrypto_sqlite_SQLiteConnection_nativeOpen and Java_com_alibaba_sqlcrypto_sqlite_SQLiteConnection_nativeOpen__Ljava_lang_String_2ILjava_lang_String_2ZZ)
at com.alibaba.sqlcrypto.sqlite.SQLiteConnection.nativeOpen(Native Method)
at com.alibaba.sqlcrypto.sqlite.SQLiteConnection.open(SQLiteConnection.java:254)
at com.alibaba.sqlcrypto.sqlite.SQLiteConnection.open(SQLiteConnection.java:233)
at com.alibaba.sqlcrypto.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:467)
at com.alibaba.sqlcrypto.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:188)
at com.alibaba.sqlcrypto.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:180)
at com.alibaba.sqlcrypto.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:841)
at com.alibaba.sqlcrypto.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:826)
at com.alibaba.sqlcrypto.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:718)
at com.alibaba.sqlcrypto.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:752)
at com.alibaba.sqlcrypto.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:237)
at com.alibaba.sqlcrypto.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:168)
at com.j256.ormlite.android.AndroidConnectionSource.getReadWriteConnection(AndroidConnectionSource.java:72)
at com.j256.ormlite.android.AndroidConnectionSource.getReadOnlyConnection(AndroidConnectionSource.java:60)
at com.j256.ormlite.stmt.StatementExecutor.buildIterator(StatementExecutor.java:250)
at com.j256.ormlite.stmt.StatementExecutor.query(StatementExecutor.java:204)
at com.j256.ormlite.dao.BaseDaoImpl.query(BaseDaoImpl.java:278)
at com.j256.ormlite.stmt.QueryBuilder.query(QueryBuilder.java:368)
at com.mpaas.cdp.biz.dao.impl.AdDaoImpl.getSpaceInfoList(AdDaoImpl.java:110)
at com.mpaas.cdp.biz.db.AdDBCacheSingleton.checkSpaceData(AdDBCacheSingleton.java:85)
at com.mpaas.cdp.biz.db.AdDBCacheSingleton.isDBEmpty(AdDBCacheSingleton.java:511)
at com.mpaas.cdp.biz.transport.AdExecutorService$2.run(AdExecutorService.java:171)
at com.alipay.mobile.framework.pipeline.analysis.AnalysedRunnable.run(AnalysedRunnable.java:86)
at com.alipay.mobile.framework.pipeline.DelayedRunnable.run(DelayedRunnable.java:65)
at com.alipay.mobile.framework.service.common.threadpool.TaskPoolRunnable.run(TaskPoolRunnable.java:128)
at com.alipay.mobile.framework.service.common.OrderedExecutor$Task.run(OrderedExecutor.java:192)
at com.alipay.mobile.framework.pipeline.analysis.AnalysedRunnable.run(AnalysedRunnable.java:82)
at com.alipay.mobile.framework.pipeline.DelayedRunnable.run(DelayedRunnable.java:65)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
2019-09-11 12:48:49.315 5935-6074/com.mpaas.demo I/LogContext: [PIPELINE.INITED] uploadCoreByStartService: start upload service, logCategory: footprint, success: true, process: main, disableTools: false, event:
2019-09-11 12:48:49.315 5935-6074/com.mpaas.demo W/LauncherApplication: [PIPELINE.INITED] upload(upload=footprint)

H5离线包的代码包大小的问题以及静态资源分离问题

在实际开发中 较大格式的图片 一般是传至CDN来解决?另外Kylin这个框架 如果做增量更新的话 hash 可否完善下,每次进行编译打包时都会所有的文件全部hash更改,可以做个文件对比然后进行索引例如修改A的page 打包后 只有A页索引的js进行Hash的更新。

如何设置小程序保活

image

查询了文档,在配置信息里添加了**enableKeepAlive** 选项,并且在原生的H5.json配置里也看到这个选项生效了,但是原生每次跳转小程序还是要初始化。

image

window 下载demo运行出错:java.io.IOException: Unable to delete file

  • What went wrong:
    java.io.IOException: Unable to delete file: D:***\Desktop\mPass\mpaas-demo\mpaas-demo\mpaas_nebula_demo\mpaas_nebula_demo_android\app\build\intermediates\transforms\stripDebugSymbol\debug\0\lib\armeabi\libandroid-phone-thirdparty-utdid.so

Unable to delete file: D:***\Desktop\mPass\mpaas-demo\mpaas-demo\mpaas_nebula_demo\mpaas_nebula_demo_android\app\build\intermediates\transforms\stripDebugSymbol\debug\0\lib\armeabi\libandroid-phone-thirdparty-utdid.so
image
出错版本:classpath 'com.alipay.android:android-gradle-plugin:3.0.0.7.25'
修改为classpath 'com.alipay.android:android-gradle-plugin:3.0.0.8.0'则不报该问题,可见更新新版本即可解决。

ios工程集成离线容器后有问题

你好!工程集成SDK后,仿照Demo调用加载在线网页方法无反应:日志一直打印The service specified by name 'MPDefaultConfigService' not found.容器的viewDidload方法都走了,但是网页显示不出来(没有任何反应,跟网页没关系百度也打不开).哪位大牛给解答一下哪里配置有问题?万分感谢

H5容器里面的H5_PAGE_ERROR不回调

当H5加载的时候,,如果加载错误只会回调H5_PAGE_FINISHED这个Action并不会回调H5_PAGE_ERROR,我现在想处理H5_PAGE_ERROR,用原生的错误展示界面

ios h5容器非托管Appdelegate

ios h5容器非托管Appdelegate的情况下,在10.1.60中,按照文档配置完成无法生成webview控制器。同样的处理方式,在10.1.32中就可以生成。想问一下,h5容器在10.1.60中是否必须要托管Appdelegate才可以呢?

java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/content/LocalBroadcastManager;

2019-09-16 15:47:47.401 13265-13265/com.trxnet.dragongo E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.trxnet.dragongo, PID: 13265
java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/content/LocalBroadcastManager;
at com.alipay.mobile.antui.basic.AUBasicDialog.onWindowFocusChanged(AUBasicDialog.java:37)
at com.android.internal.policy.DecorView.onWindowFocusChanged(DecorView.java:1692)
at android.view.View.dispatchWindowFocusChanged(View.java:13703)
at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:1480)
at android.view.ViewRootImpl.handleWindowFocusChanged(ViewRootImpl.java:2870)
at android.view.ViewRootImpl.access$1100(ViewRootImpl.java:142)
at android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:4533)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.content.LocalBroadcastManager" on path: DexPathList[[zip file "/data/app/com.trxnet.dragongo-q06ooJ4BY-3MJJh961UVoA==/base.apk"],nativeLibraryDirectories=[/data/app/com.trxnet.dragongo-q06ooJ4BY-3MJJh961UVoA==/lib/x86, /system/lib, /system/product/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:196)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at com.alipay.mobile.antui.basic.AUBasicDialog.onWindowFocusChanged(AUBasicDialog.java:37) 
at com.android.internal.policy.DecorView.onWindowFocusChanged(DecorView.java:1692) 
at android.view.View.dispatchWindowFocusChanged(View.java:13703) 
at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:1480) 
at android.view.ViewRootImpl.handleWindowFocusChanged(ViewRootImpl.java:2870) 
at android.view.ViewRootImpl.access$1100(ViewRootImpl.java:142) 
at android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:4533) 
at android.os.Handler.dispatchMessage(Handler.java:107) 
at android.os.Looper.loop(Looper.java:214) 
at android.app.ActivityThread.main(ActivityThread.java:7356) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) 
2019-09-16 15:47:47.427 13265-13265/com.trxnet.dragongo I/Process: Sending signal. PID: 13265 SIG: 9

demo真机调试小程序提示应用不存在

 [[NBServiceGet() appCenter] prepareApp:appID version:nil process:^(NAMAppPrepareStep step, id info) {

} finish:^(NAMApp *app, NSError *error) {
    if (!error) {
        dispatch_async(dispatch_get_main_queue(), ^{
            [NBServiceGet() startSession:@{@"appId":app.app_id, @"version":app.version, @"debug":@"framework"} animated:YES];
        });
    }
}];

使用真机调试执行上述代码时,提示:

rror Domain=nebulaappmanager_error_domain Code=10008 "app not exist" UserInfo={NSLocalizedDescription=app no[NBServiceGet() startSession:@{@"appId":app.app_id, @"version":app.version, @"debug":@"framework"} animated:YES];t exist}

后台已经发布了,这个是什么原因,另外有错误码文档吗?

额外一个问题,下面这两个方法有什么区别?

  • [DTContextGet() startApplication:appID params:@{@"appId":appID,@"debug":@"framework"} animated:YES];
  • [NBServiceGet() startSession:@{@"appId":app.app_id, @"version":app.version, @"debug":@"framework"} animated:YES];

mpaas Android适配targetVersion = 28,适配androidX

如题,Android 的mpaas 什么时候能适配 targetVersion>26,因为项目之前已经是targetVersion = 28,应用市场不允许降级处理,并且app 已经适配了 targetVersion= 28,mpaas 插件没有适配,不能在android 8的系统上使用mpaas的h5容器,另外,现在项目还做了迁移的androidX,mpaas 有计划适配这些

rn支持

是否考虑支持react-native?

android demo 启动nebula-build编译报错

org.gradle.execution.MultipleBuildFailures: Multiple build failures
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.rethrowFailures(DefaultTaskExecutionPlan.java:954)
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.access$3200(DefaultTaskExecutionPlan.java:92)
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan$12.transform(DefaultTaskExecutionPlan.java:936)
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan$12.transform(DefaultTaskExecutionPlan.java:932)
at org.gradle.internal.resources.DefaultResourceLockCoordinationService.withStateLock(DefaultResourceLockCoordinationService.java:45)
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.awaitCompletion(DefaultTaskExecutionPlan.java:932)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:60)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:128)
at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:46)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
at org.gradle.initialization.DefaultGradleLauncher$ExecuteTasks.run(DefaultGradleLauncher.java:314)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.initialization.DefaultGradleLauncher.runTasks(DefaultGradleLauncher.java:204)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:134)
at org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:109)
at org.gradle.internal.invocation.GradleBuildController$1.call(GradleBuildController.java:78)
at org.gradle.internal.invocation.GradleBuildController$1.call(GradleBuildController.java:75)
at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:152)
at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:100)
at org.gradle.internal.invocation.GradleBuildController.run(GradleBuildController.java:75)
at org.gradle.tooling.internal.provider.runner.ClientProvidedBuildActionRunner.run(ClientProvidedBuildActionRunner.java:62)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32)
at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$1.run(RunAsBuildOperationBuildActionRunner.java:43)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:40)
at org.gradle.tooling.internal.provider.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:51)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:47)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30)
at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:39)
at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:25)
at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:80)
at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:53)
at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:57)
at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:32)
at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:36)
at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:25)
at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:43)
at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:29)
at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:69)
at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:30)
at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:59)
at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:44)
at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:45)
at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:30)
at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:67)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
at org.gradle.util.Swapper.swap(Swapper.java:38)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:62)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:82)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:295)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
at java.lang.Thread.run(Thread.java:745)
Cause 1: java.lang.NullPointerException: Cannot invoke method getParentFile() on null object
at org.codehaus.groovy.runtime.NullObject.invokeMethod(NullObject.java:91)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:48)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.NullCallSite.call(NullCallSite.java:35)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at java_io_File$getParentFile$6.call(Unknown Source)
at com.alipay.android.listeners.PortalTaskExecutionListener.doBeforeExecute(PortalTaskExecutionListener.groovy:157)
at sun.reflect.GeneratedMethodAccessor928.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:210)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:59)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:52)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:64)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:166)
at com.alipay.android.listeners.PortalTaskExecutionListener.beforeExecute(PortalTaskExecutionListener.groovy:82)
at sun.reflect.GeneratedMethodAccessor155.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:42)
at org.gradle.internal.event.BroadcastDispatch$SingletonDispatch.dispatch(BroadcastDispatch.java:230)
at org.gradle.internal.event.BroadcastDispatch$SingletonDispatch.dispatch(BroadcastDispatch.java:149)
at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:58)
at org.gradle.internal.event.BroadcastDispatch$CompositeDispatch.dispatch(BroadcastDispatch.java:324)
at org.gradle.internal.event.BroadcastDispatch$CompositeDispatch.dispatch(BroadcastDispatch.java:234)
at org.gradle.internal.event.ListenerBroadcast.dispatch(ListenerBroadcast.java:140)
at org.gradle.internal.event.ListenerBroadcast.dispatch(ListenerBroadcast.java:37)
at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
at com.sun.proxy.$Proxy114.beforeExecute(Unknown Source)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:244)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:123)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:79)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:104)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:98)
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:626)
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:581)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:98)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
at java.lang.Thread.run(Thread.java:745)
Cause 2: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':nebula-build:buildInfoGeneratorDebug'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62)
at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:60)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:97)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:87)
at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:123)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:79)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:104)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:98)
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:626)
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:581)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:98)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalStateException: Full build with no artifacts. This should not happen.
at com.android.build.gradle.internal.incremental.InstantRunBuildContext.collapseMainArtifactsIntoCurrentBuild(InstantRunBuildContext.java:745)
at com.android.build.gradle.internal.incremental.InstantRunBuildContext.purge(InstantRunBuildContext.java:668)
at com.android.build.gradle.internal.incremental.InstantRunBuildContext.close(InstantRunBuildContext.java:860)
at com.android.build.gradle.internal.incremental.BuildInfoWriterTask.executeAction(BuildInfoWriterTask.java:68)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:46)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:780)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:747)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:121)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:110)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92)
... 32 more

Android Studio Version 3.4

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.