tinker

Is there a way to catch when I'm using a laravel tinker session to fiddle with the Models in an Observer class?

巧了我就是萌 提交于 2019-12-11 15:25:50
问题 I have an Observer set up to Listen to a Model 's events in order to keep my Controller clean of Logging messages. My implementation is as follows: First, a store method that does just what it's supposed to do. Create and save a new model from valid parameters. # app/Http/Controllers/ExampleController.php namespace App\Http\Controllers; use App\Http\Requests\StoreExample; use App\Example; class ExampleController extends Controller { public function __construct() { $this->middleware('auth'); }

Tinker gitHub

拥有回忆 提交于 2019-12-11 07:31:20
https://github.com/WeMobileDev/article/blob/master/%E5%BE%AE%E4%BF%A1Tinker%E7%9A%84%E4%B8%80%E5%88%87%E9%83%BD%E5%9C%A8%E8%BF%99%E9%87%8C%EF%BC%8C%E5%8C%85%E6%8B%AC%E6%BA%90%E7%A0%81%EF%BC%88%E4%B8%80%EF%BC%89.md 来源: CSDN 作者: 量变->质变 链接: https://blog.csdn.net/m0_37778101/article/details/103472002

Android热更新

爷,独闯天下 提交于 2019-12-09 11:29:33
Android热更新 一.什么是热更新 二.工作原理 1.Android中如何动态修复bug 2.Android中的类加载器 3.热修复的实现原理 三.热更新优点 为什么要做热更新 四.热更新使用 1.添加插件依赖 2.集成SDK 3.初始化SDK 4.Androidmanifest.xml配置 5.混淆配置 6.常见错误 一.什么是热更新 热更新是一种各大手游等众多App常用的更新方式。简单来说,就是在用户通下载安装APP之后,打开App时遇到的即时更新。 二.工作原理 热更新就是动态下发代码,它可以使开发者在不发布新版本的情况下,修复 BUG 和发布功能,让开发者得以绕开苹果的审核机制,避免长时间的审核等待以及多次被拒造成的成本。 1.Android中如何动态修复bug bug一般是一个或多个class出现了问题,在一个理想的状态下,我们只需将修复好的这些个class更新到用户手机上的app中就可以修复这些bug了。但说着简单,要怎么才能动态更新这些class呢?其实,不管是哪种热修复方案,肯定是如下几个步骤: 下发补丁(内含修复好的class)到用户手机,即让app从服务器上下载(网络传输) app通过"某种方式",使补丁中的class被app调用(本地更新) 这里的"某种方式",对本篇而言,就是使用Android的类加载器,通过类加载器加载这些修复好的class

手把手教你集成热修复Tinker。

时光怂恿深爱的人放手 提交于 2019-12-03 11:30:29
热更新: 就是在应用无需重新安装情况下实现更新,从而实现动态修复功能。 在热更新之前,如果线上的应用出现bug, 是需要用户重新下载然后安装,这样的操作对用户来说肯定是不能接受的,什么软件,时不时就重新下载安装,用户体验极差, 热更新出现之后,这样的问题就可以得到解决,在用户无感知的情况下就可以把bug修复。 目前比较火的热修复的分为阿里系、腾讯系、 其他大厂。 阿里系 : DeXposed 、 andfix 从底层二进制入手 (c语言)。 腾讯系 : tinker 、Qzone 从类加载入手 。 美团: Robust 从类加载入手 。 下面给出几个大厂的框架区别 在集成热更新之前,比较过几个框架,最终还是选择Tinker。 下面就介绍集成Tinker步骤。 跑通tinker中的demo 源码 : https://github.com/Tencent/tinker 1: 在工程目录下的build.gradle中,添加tinker-patch-gradle-plugin的依赖 classpath ('com.tencent.tinker:tinker-patch-gradle-plugin:1.9.1') 2: 然后在app的gradle文件app/build.gradle, 需要添加tinker的库依赖以及apply tinker的gradle插件。 implementation(

手把手教你使用Tinker Platform进行热修复补丁管理

我们两清 提交于 2019-12-03 11:30:02
使用Tinker Platform进行热修复补丁管理 这是 手把手教你使用腾讯的热修复框架-Tinker 的姊妹篇,它主要讲述了如何接入Tinker以及Tinker的基本使用,不熟悉的可以 点击了解一下 。 项目地址 什么是 TinkerPatch 平台? Tinker 需要使用者有一个后台可以下发和管理补丁包,并且需要处理传输安全等部署工作,TinkerPatch 平台帮你做了这些工作,提供了补丁后台托管,版本管理,保证传输安全等功能,让你无需搭建一个后台,无需关心部署操作,只需引入一个 SDK 即可立即使用 Tinker。 此外,通过深入研究 Tinker 源码,TinkerTinkerPatch 平台在 Tinker的基础上加入了以下特性: 一键傻瓜式接入;无需理解复杂的热修复原理,一行代码即可接入热修复。实现了自动反射 Appliction 与 Library,使用者无需对自己的项目做任何的改动; 补丁管理;实现了热补丁的版本管理,补丁的自动重试与异常时自动回退等功能。同时我们可以简单实现条件下发补丁,在出现异常情况时,我们也可以快速回滚补丁; 编译优化;简化了 Tinker 的编译复杂度,实现了备份路径选择,功能开关等功能。 TinkerPatch 平台在 Github 为大家提供了各种各样的 Sample,大家可点击前往 TinkerPatch Github .

手把手教你使用腾讯的热修复框架-Tinker

吃可爱长大的小学妹 提交于 2019-12-03 11:29:18
TinkerTest 演示如何使用腾讯的热修复框架-Tinker 项目地址 Tinker热更新演示(请star支持) 演示demo下载 Tinker简介 Tinker是微信官方的Android热补丁解决方案,它支持动态下发代码、So库以及资源,让应用能够在不需要重新安装的情况下实现更新。当然,你也可以使用Tinker来更新你的插件。 相关链接 Tinker Github TinkerPatch Github Tinker Platform Tinker已知问题 由于原理与系统限制,Tinker有以下已知问题: Tinker不支持修改AndroidManifest.xml,Tinker不支持新增四大组件(1.9.0支持新增非export的Activity); 由于Google Play的开发者条款限制,不建议在GP渠道动态更新代码; 在Android N上,补丁对应用启动时间有轻微的影响; 不支持部分三星android-21机型,加载补丁时会主动抛出"TinkerRuntimeException:checkDexInstall failed"; 对于资源替换,不支持修改remoteView。例如transition动画,notification icon以及桌面图标。 官方说明请 点击查看 . Tinker接入 添加依赖 在Project的根目录的build.gradle下添加

artisan tinker: mkdir() permission denied

匿名 (未验证) 提交于 2019-12-03 00:52:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: Laravel Version 5.0.33 > php artisan tinker [ErrorException] mkdir(): Permission denied This is on a production server, I was trying to test a command with tinker as the web user. This user owns every directory in the base path, so I'm not sure what directory is attempted to be created when I run artisan tinker. 回答1: Using very verbose -vvv , I was able to get a stack trace. Exception trace: () at /data1/vhosts/admin.stewartcoopercoon.com/vendor/psy/psysh/src/Psy/Configuration.php:459 Illuminate\Foundation\Bootstrap\HandleExceptions-

tinkerpatch使用记事

匿名 (未验证) 提交于 2019-12-03 00:20:01
到 http://www.tinkerpatch.com 平台注册一个app并获取appKey 根据 http://www.tinkerpatch.com/Docs/SDK 文档做配置 build.gradle.中 // Top-level build file where you can add configuration options common to all sub -projects/modules. buildscript { repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.1.2' // TinkerPatch 插件 classpath "com.tinkerpatch.sdk:tinkerpatch-gradle-plugin:1.2.6" } } allprojects { repositories { google() jcenter() } } task clean(type: Delete) { delete rootProject.buildDir } app/build.gradle中,主要是签名和tinker的包 apply plugin: 'com.android.application' apply

Android 腾讯bugly Tinker 热修复

匿名 (未验证) 提交于 2019-12-02 23:49:02
https://bugly.qq.com/docs/user-guide/instruction-manual-android-hotfix/?v=20180709165613 简介 一、添加插件依赖 二、gradle配置 三、新建tinker-support.gradle 四、初始化SDK 五、AndroidManifest.xml配置 六、混淆配置: 七、生成基准包 八、生成补丁包 九、上传补丁包,见证热更新 一、添加插件依赖 buildscript { repositories { jcenter() } dependencies { classpath "com.tencent.bugly:tinker-support:1.1.5" } } 二、gradle配置 先生成一个jks密钥,然后在app module的“build.gradle”文件中添加(示例配置): android { defaultConfig { ndk { abiFilters 'armeabi' } signingConfigs { release { storeFile file(jks密钥库路径) storePassword 密钥库密码 keyAlias 密钥名 keyPassword 密钥密码 } } buildTypes { release { //应用签名信息 signingConfig

Python Tinker学习笔记

匿名 (未验证) 提交于 2019-12-02 22:11:45
一直在简单看看python,这次项目需要做个界面,最好是要跨平台的,之前考虑QT,但是树莓派上QT跨平台编译一直装这有问题,后来发现Python不就可以么? 于是决定用python做个界面,但是做界面貌似不如QT图形化界面那么简单。最后发现了Python带的Tinker界面编程,很多控件都可以通过语言进行创建,还不是很习惯。分享下我的简单学习控件心得。 TK 简要描述 TK 是与 TCL 语言关系最密切、且被广泛使用的图形库,TCL 语言和 TK 都由 John Ousterhout 开发。虽然 TK 于 1991 年作为 X11 库出现,但实际上它从那时起就被移植到每一种流行的 GUI。(它与 Python 逐渐拥有“标准”GUI 的情形相似。)现在,大多数流行语言和很多小型语言都有 TK 绑定(Tkinter 模块)。 学习基本知识 实际上,Tkinter 程序只需做三件事: from tkinter import * # importthe Tkinter module root = Tk() # create a rootwindow root.mainloop() # create an eventloop 一 按钮 Tkinter 按钮组件用于在 Python 应用程序中添加按钮,按钮上可以放上文本或图像,按钮可用于监听用户行为,能够与一个 Python 函数关联