Step2:命令行登录Travis(第一次登录才要),并输入GitHub的用户名和密码
最近我们正在使用 React Native 来重写 Growth 应用,GitHub 地址:growth-ng 。作为一个『咨询师』,我要再一次地切换技术栈,从混合应用开发转向 React Native。 重写 Growth 项目,由于业务内容繁多,也因此变成了一个庞大的工程。为了减少开发的时候,不断也开现一些错误,因此花了一段时间来探索:APP 端的持续部署。因此在这一篇文章里, 我们将介绍基于下面的几个框架来搭建持续集成: React Native 与持续集成服务器 Travis CI 的使用 单元测试
早在 2018 年 5 月的 Google I/O 大会上,Google 就介绍了 Android App Bundle(AAB)格式,作为其现代化开发的一部分。今年 8 月,AAB 格式将成为全新上架到 Google Play Store 应用的默认格式,已经上架的老应用暂时不会受到影响。
Flutter综合应用 Flutter综合应用 线上出现问题,该如何做好异常捕获和信息采集 Flutter异常 App异常的捕获方式 FrameWork异常的捕获方式 异常上报 Dart接口实现 iOS接口实现 Android接口实现 总结 衡量FLutter App线上质量,需要关注三个指标 页面异常率 页面帧率 页面加载时长 组件化和平台化,如何组织合理稳定的Flutter工程结构 组件化 组件化的具体实施步骤 平台化 如果下层组件确实需要调用上层组件的代码怎么办? 如何构建高效的Flutt
在这个 Travis CI 教程中,学习如何设置流行的持续集成服务,并与 GitHub 集成,以便自动运行测试。
依旧喜欢eson. 来首背景音乐。另外星战8,1月6号首映,筒子们赶快带上女票提前买票吧!
image.png 懒是程序员的美德,作为程序员应该善用工具提高自己的工作效率。在我最早的时候,我是个“勤奋”的人,写好代码后,如果要给测试同学测试我的App,那么我大概会用XCode编译我的应用,然后打包签名再把ipa分发给测试,这一切在现在看来是多么的效率低下。 后来有了Testflight,简化了一部分我的工作。再后来国内也出现了优秀的工具,以蒲公英和fir为代表。在持续集成的时候结合这些分发渠道,可以大大的简化我们的工作。 Travis CI 详细的介绍请看它的网站,简单来说它是用来做持续集成的工具
在Android Studio中,我们几乎每天都在用run,generate APK等功能。
之前有多个游戏遇到关于签名错误的问题,加上有些游戏开发不熟悉Android签名校验的机制以及打包的方法,就专门总结了一下,现在整理一下。 首先放上官方文档链接:http://developer.android.com/tools/publishing/app-signing.html 什么是签名 就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。数字签名是个加密的过程,数字签名验证是个解密的过程。 为什么有签名 最简单直接的回答: 系统要
在Android 7.0(Nougat)推出了新的应用签名方案APK Signature Scheme v2后,之前快速生成渠道包的方式(美团Android自动化之旅—生成渠道包)已经行不通了,在此应用签名方案下如何快速生成渠道包呢? 本文会对新的应用签名方案APK Signature Scheme v2以及新一代渠道生成工具进行详细深入的介绍。 新的应用签名方案APK Signature Scheme v2 Android 7.0(Nougat)引入一项新的应用签名方案APK Signature Sch
GitHub Actions 是 GitHub 官方提供并免费提供给开源仓库使用的持续集成服务,在进入本文主题之前,先讲讲什么是持续集成 (CI/CD) 。
之前一直有犹豫过要不要写这篇文章,毕竟去反编译人家的程序并不是什么值得骄傲的事情。不过单纯从技术角度上来讲,掌握反编译功能确实是一项非常有用的技能,可能平常不太会用得到,但是一旦真的需要用到的了,而你
我今天给大家分享的主题主要是移动端持续集成的移动端落地。先给大家介绍一下我的一些背景,大概做了十年左右的软件的质量研发,还有DevOps 的一些工作。然后经历了外资企业还有一些互联网,比如说360。
在调试应用程序时,Android SDK工具会自动对应用程序进行了签名。Eclipse的ADT插件和Ant编译工具都提供了两种签名模式——Debug模式和Release模式。 在开发和测试时,可以使用Debug模式。Debug模式下,编译工具使用内嵌在JDK中的Keytool工具来创建一个keystore和一个 key(包含公认的名字和密码)。在每次编译的时候,会使用这个Debug Key来为apk文件签名。由于密码是公认的所以每次编译的时候,并不需要提示你输入keystore和key密码。
生成签名文件:其实是有很多工具可以做到,这里不过是想用命令来生成 其命令如下:生成的签名默认在c盘根目录下 keytool -genkey -alias aaaa.keystore -keyalg RSA -validity 2000 -keystore newandroid.keystore 备注说明:-alias后面跟着的是别名(android.keystore) -keystore后面跟着的是具体的签名文件(及签名文件的命名–newandroid.keystore) 当使用这个命令生成后,会有个警告,不符合pkcs12标准,需要消除掉(也可以不消除),使用如下命名: keytool -importkeystore -srckeystore android.keystore -destkeystore newandroid.keystore -deststoretype pkcs12 将上面的android.keystore签名迁移到newandroid.keystore中,其各种参数不变。 截图如下
Continuous Integration(CI)持续集成可以在团队中每天构建非常多次。每一次自动构建都可以验证最新Push到主仓库的提交。这种方式可以帮助我们很快的解决问题,也可以提高我们的开发效率,提升代码质量。
在 Android Studio 工程中 , 打包 APK 文件时 , 报错 ;
Android系统由于其开源的属性,市场上针对开源代码定制的ROM参差不齐,在系统层面的安全防范和易损性都不一样,android应用市场对app的审核相对 iOS来说也比较宽泛,为很多漏洞提供了可乘之机。市场上一些主流的app虽然多少都做了一些安全防范,但由于大部分app不涉及资金安全,所以对安全的重视程度不够。本文通过几个题目可以让你基本了解android中简单的但比较经典的漏洞、以及简单的android注册机开发的思路。阅读本文,你可能需要了解android逆向的基本知识和常用工具、非常简单的java语
本文来自张绍文老师的《Android开发高手课》,我把我认为比较好的文章整理分享给大家。
选择 菜单栏/Build/Generate Signed Bundle / APK 选项 ,
首先写一个测试app 打包 使用apktool进行反编译 生成smali格式的反汇编代码 然后阅读Smali文件的代码来理解程序的运行机制 找到程序的突破口进行修改 最后使用ApkTool 重新编译生成apk文件并签名 最后测试运行
关于作者: 李涛,腾讯Android工程师,14年加入腾讯SNG增值产品部,期间主要负责手Q动漫、企鹅电竞等项目的功能开发和技术优化。业务时间喜欢折腾新技术,写一些技术文章,个人技术博客:www.ltlovezh.com 。 ApkChannelPackage是一种快速多渠道打包工具,同时支持基于V1和V2签名进行渠道打包。插件本身会自动检测Apk使用的签名方法,并选择合适的多渠道打包方式,对使用者来说完全透明。Github地址是https://github.com/ltlovezh/ApkChannelP
关于作者: 李涛,腾讯Android工程师,14年加入腾讯SNG增值产品部,期间主要负责手Q动漫、企鹅电竞等项目的功能开发和技术优化。业务时间喜欢折腾新技术,写一些技术文章,个人技术博客:www.ltlovezh.com 。 ApkChannelPackage是一种快速多渠道打包工具,同时支持基于V1和V2签名进行渠道打包。插件本身会自动检测Apk使用的签名方法,并选择合适的多渠道打包方式,对使用者来说完全透明。 Github地址: https://github.com/ltlovezh/ApkChanne
ApkTool官网安装说明页:Apktool - How to Install (ibotpeaches.github.io) 按照说明进入下载页下载apktool.jar文件,例如目前的下载页为:iBotPeaches / Apktool / Downloads — Bitbucket 选择最新的版本下载即可,例如目前是apktool_2.6.1.jar
想进大厂,就关注「 程序亦非猿 」 时不时 8:38 推送优质文章,觉得有用,置顶加星标
前面我们讲解了AndFix的使用,这篇我们来讲解下微信的Tinker热修复,相比AndFix,Tinker的功能更加全面,更主要的是他支持gradle。他不仅做到了热修复更实现了“热更新”。既然他这么强大,下面我们就来了解他是如何使用的。
加固过程中会破坏apk的签名文件,此时直接安装时会出错,找不到签名。因此需要重新签名,重签名后的apk签名文件和原来的保持一致就不会影响更新应用。
近期更新Android应用可要注意了,不要随意点个链接就升级,你的正宗应用可能升级成山寨应用哦。 Google在12月发布的安全公告中提到的“Janus”漏洞,可使攻击者在不改变原应用签名的情况上,注入恶意代码。
这一章主要针对项目中可以用到的一些实用功能来介绍Android Gradle,比如如何隐藏我们的证书文件,降低风险;如何批量修改生成的apk文件名,这样我们就可以修改成我们需要的,从文件名中就可以看到渠道,版本号以及生成日期等信息,这多方便啊;还有其他突破65535方法的限制等等。
已不推荐本方法,多渠道打包请看【Android】Walle多渠道打包&Tinker热修复。 现状 多渠道打包,相信很同学都知道。在Android Studio中只要经过配置,就能打出对应市场的渠道包。打过包的同学可能都会有这样的感受:散热器疯狂地转、打包速度那叫一个慢。这时候除了无奈,还是无奈~~ 场景 (讲一个我现实中遇到的情况) 今天APP要发布,已经是晚上八点多。这时候功能已经测得差不多了,老大说可以打包了。美好的时光即将到来,打完包就可以回家了,这个点还能回家撸几把。想到这里就有点小激动 一共要
Android应用程序签名相关的理论知识包括:什么是签名、为什么要给应用程序签名、如何给应用程序签名等。
/********************2016年4月23日更新********************************/
链接:https://www.jianshu.com/p/052ce81ac953
前言 Ant是历史比较悠久的一个自动化构建工具,Android开发者可以通过它来实现自动化构建,也可以实现多渠道打包,关于apk打包的方式一般有Ant、Python、Gradle三种,这三种打包方式都各自有优点和缺点,本篇博文先给大家介绍如何使用Ant来实现自动构建和多渠道发布。 开发环境 Window7 Ant jdk android sdk mac系统下所需要的运行环境也是类似的,我们都需要配置Ant、jdk、sdk的环境变量,我们可以看一下window下是环境变量配了些什么: ANT_HOME : D
我们知道,一款Android 要发布的话,必须经过签名,Android目前支持的签名方式包括三种:
可能一看标题你不知道是什么意思,我这里解释一下什么是空包签名,为什么要空包签名。那是一个风和日丽的早晨,我愉快地敲着代码,于是项目总监告诉有一个老项目维护,给了我源代码,在我修复bug运行成功之后,说要上架到应用市场,我说要上那就上呗,简简单单。然后我发现事情并不是那么简单,平台上之前上架过此应用,那还是16、17年的事情,那时我还在学校呢。而且之前的平台开发者账号找不到了,也就是那之前平台上的应用是个孤儿。平台上有这个应用再想上架的话有两个方案,一、更改包名,应用名,然后上架。二、认领应用。方案一花费的时间太长,因为不仅仅是改一个包名那么简单,里面对接的第三方SDK因为这个包名改动,那么就都要改一次配置才行,周期太长,太繁琐。于是走方案二,就有了本文。
了解 HTTPS 通信的同学都知道,在消息通信时,必须至少解决两个问题:一是确保消息来源的真实性,二是确保消息不会被第三方篡改。
最近公司的一款产品提交国内市场,发现有些国内市场提示需要进行应用认领。原因就是别人(或者市场抓取)已经在我们之前将这个应用提交到了该市场。认领成功后,这个应用就重回你的怀抱了,其实认领很简单,这里讲到的自然是对未签名的包进行签名。由于这样的操作细小琐屑,这样更需要记录一下,免得以后麻烦。
关于如何多渠道打包,以下文字详细解答了Android如何实现多渠道打包以及快速打包。
【Google Play】创建 Google 开发者账号 ( 注册邮箱账号 | 创建开发者账号 ) 【Google Play】创建并设置应用 ( 访问权限 | 内容分级 | 受众群体 | 类别及联系方式 | 商品详情 )
生成系统签名,首先需要下面的两个系统签名文件: platform.pk8 platform.x509.pem 这两个文件可以从Android源码中获取,具体路径为: build/target/product/security/ 将上面的两个文件放到同一个文件夹,同时也将自己生成的签名文件放置在这个文件夹下,从gitHub上下载工具keytool-importkeypair 执行下面的命令就可以生成系统签名文件了。
假设我们得到了系统签名文件:platform.pk8、platform.x509.pem,还需要一个用于签名的文件:signapk.jar,这里提供了一份下载连接,可供练习使用:链接:https://pan.baidu.com/s/1OiBcVyhZVqTulb6HXwcqHA 提取码:7g81
要在index.html中引入cordova.js,不然后续所有的插件都不能使用!
当我们打开一个项目,我们可以看到的是我们写的Java Code文件or Other JVM Code,资源文件,Build配置文件,但是通过run the project,我们就可以得到一个在我们的Andoid设备上可以运行的Apk,上线应用市场,还需要我们对其进行签名处理,来确保我们App的唯一性和安全性。整个过程就是所谓的项目构建。
这条命令会要求你输入密钥库(keystore)和对应密钥的密码,然后设置一些发行相关的信息。最后它会生成一个叫做my-release-key.keystore的密钥库文件。注意密匙库和密码自己写的,如果是测试随便即可
Ant打包 使用步骤: 对于已经存在的工程需要利用Ant命令更新一下: android update project -n Test -p D:/workspace/Test -s -t 1 -n (name) 后面跟的是这个工程的名子 -p (path)后面跟的是这个工程的目录路径 -t (target)后面是当前共有的SDK版本。表明我们的目标版本(如果有了project.properties就不用再跟target这个参数了). android list target这样就能够列
领取专属 10元无门槛券
手把手带您无忧上云