10 Jamin_正宗红罐辣酱

尚未进行身份认证

我要认证

http://wangjieming.com

等级
TA的排名 2w+

Android App Bundle(aab)与UnsatisfiedLinkError

一.起因所做项目因为是在Google Play市场,并且在2019.8.1开始,必须要携带64位so库,又因为所做App涉及到C层库比较多。大概有10MB左右。所以使用了Google最新的Android App Bundle的方式进行打包,就是俗称的aab。二.遇到的问题在我们通过GP发布了aab之后,遇到了很多Exception: java.lang.UnsatisfiedLinkErro...

2019-08-04 19:25:46

Android APK二次签名,重新签名

目标:将一个已有的APK,使用已有key再次进行签名直接上代码先对其zipalign -v -p 4 origin.apk origin_aligned.apk签名sign --ks key文件 --out release.apk origin_aligned.apk验证apksigner verify release.apk安装adb install release.apk...

2018-11-27 14:35:40

谷歌应用市场 Google Play 灰度发布(概率发布 staged rollout)策略简介

〇.引我们都知道Google Play是支持灰度发布的,也叫做概率发布。简单的说就是可以使本次发布覆盖到1%-100%的用户。那么这个策略具体是什么样的呢?抛出几个问题:如果灰度发布1%那么会不会覆盖到新用户?如果停止(halt)灰度之后,再次灰度1%还是不是同一批用户?一.简介灰度发布(staged rollout)当我们在应用市场更新App的时候可以选择灰...

2018-08-02 09:41:32

Android Gradle Plugin(AGP) 升级 3.0+ ,Gradle升级4.4+过程记录

一.背景项目中原有的一些配置Android Gradle Plugin(AGP)版本是2.3.1,Gradle的版本为gradle-3.5-all,Android Studio(3.1.3)JDK-7此次的目标是升级到Android Gradle Plugin(AGP)版本是3.1.3,Gradle的版本为gradle-4.7-all,Android Stu...

2018-07-25 10:47:30

Android Studio 3.0+ 新Dex编译器D8 Desugar R8

〇.序将.class自己码转化为.dex字节码作为Apk打包的关键步骤,Google打算在Android 3.0中引入D8作为原先Dex的升级版,以及R8作为原本Proguard 压缩与优化(minification、shrinking、optimization)部分的替代品。升级Dex编译器将直接影响构建时间,.dex文件大小,运行时性能。一.D81.1 D8 的功能是把java...

2018-07-19 21:50:20

Android Arch LifeCycle用法详解与源码解析

一.序自从Google IO 大会提出 Android Architecture Components,越来越多的使用组件加入其中。其中 Handling lifecycles with lifecycle-aware components就像我介绍了LifeCycle这个超实用组件。二.LifeCycle简介2.1为什么我们要使用LifeCycle?我们写代码的时候难免...

2018-07-19 11:51:33

Android后台优化系列-background optimization-初识低耗电模式

〇.序通常我们在写代码的时候。会注册很多隐式广播来监听一些手机中状态变化,然后在后台开启一个任务。这看起来不经意的行为,其实是对电池电量和用户体验都产生了实质的影响。所以Google在Android的一些新版本中逐步增加了对于后台的优化和限制。就是为了提升电量的续航能力。一.了解低电耗模式1.1 低耗电模式:如果用户设备未插接电源、处于静止状态一段时间且屏幕关闭,设备会进入低电耗模...

2018-07-10 09:11:22

ExperimentationConfigurator Fatal Exception: java.lang.NullPointerException

一.问题之前因为facebook的SDK许久未更新 我们把Facebook SDK从4.11.0更新到4.30.0 compile 'com.facebook.android:facebook-login:4.30.0' compile 'com.facebook.android:account-kit-sdk:4.30.0'遇到了很多下面的这个问题Fatal E

2018-02-07 11:00:15

Android N 7.0 FileProvider 兼容适配

一.序在Android 7.0适配时,最常见,也是最重要的一点就是。当调用系统相机裁剪的时候,会出现Crash。查看Log可以很容易的发现是遇到了FileUriExposedException,这是因为当TargetSdkVersion升级到24的时候,file://在应用间传递将不再被允许。 关键字:应用间二.探索FileProvider2.1 简介引用自官网:

2018-02-01 10:44:54

Android O 8.0 运行时权限适配方案

一.序在之前的文章聊聊Android M 6.0 的运行时权限曾提到过,Google Play开发者明年势必要努力将targetsdkversion升级到26的过程中。官网的文档:向 Android 8.0 迁移应用 已经给大家了一个升级指南。当然动态权限也是需要关注的一部分。可能有部分开发者已经将targetsdkversion升级到23了。可是当targetsdkversion升级到26

2018-01-05 18:12:49

聊聊Android M 6.0 的运行时权限

一.序1.1 背景介绍.为什么要聊这个话题呢? 从官网最新数据(2017.12.11)来看:现在大概有99.6%的用户Android版本是在4.0.3(API-15)以上并且6.0以上(API-23)的用户占比在53.5%,传送门最新Android版本分布. Android 产品经理Edward Cunningham 发表文章: Improving app sec

2017-12-28 17:37:26

Android Crash的防护与追踪

一. 序Android系统中,抛出Exception 或者 Error都会导致Crash.进而导致App强制退出.简单的来说就是因为抛出异常的代码.并未被Try catch包围..就会导致进程被杀.二. 原理从Fork进程伊始,就已经存在的UncaughtExceptionHandler(大致描述了AMS对于异常处理的过程.).1. 进程Fork之后就注册了一个UncaughtHandler//Ru

2017-12-21 18:12:55

从Daemons到finalize timed out after 10 seconds

〇.序起因,在Fabric遇到了很多BUG..出于想对于BUG的来龙去脉做进一步的了解.做了一番调查.本文也是Android Crash的防护与追踪的后续研究. 这是Fabric给出的一些link 传送门 : How to handle :java.util.concurrent.TimeoutException: android.os.BinderProxy.finalize() ti

2017-12-13 16:05:42

愚蠢的错误 Failed to connect to 127.0.0.1 port 8888 :conection refused

Android Studio 链接GITHUB的一个错误。Push failedFailed with error:fatal:unable to access 'https://github.com/XXXX/XXXX.git/':Failed to connect to 127.0.0.1 port 8888 :conection refused其实很简单。发现是系统自动开启了

2017-01-12 17:59:51

HDU ACM OJ 1000 1001 1002答案(JAVA)

HDU OJ比较简单的三道题(1000,1001,1002)。主要是熟悉一下格式和写法。

2016-12-20 16:12:53

PorterDuff.Mode简介

1.下面的Xfermode子类可以改变这种行为:AvoidXfermode  指定了一个颜色和容差,强制Paint避免在它上面绘图(或者只在它上面绘图)。PixelXorXfermode  当覆盖已有的颜色时,应用一个简单的像素XOR操作。PorterDuffXfermode  这是一个非常强大的转换模式,使用它,可以使用图像合成的16条Porter-Duff规则的任意一条

2016-11-29 20:55:25

Android5.0源码-国内镜像网站上用repo下载

1.找个地方git clone git://aosp.tuna.tsinghua.edu.cn/android/git-repo.git2.把命令放到~/.bash_profile(source)3.找个文件夹 repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest -b android-5.0.2_

2015-08-31 16:30:59

Android使用charles抓包

1.下载并安状软件,官网在此:2.前题条件,电脑和手机必须在同一网段3.在Charles界面选择菜单proxy->proxy settings 勾选"Enable transparent HTTP proxying"确定代理端口,默认"8888"就可以了4.在手机的wifi节点设置里设置代理。勾选"显示高级选项",在出现的内容填入代理主机的IP(也就是你装了

2015-08-31 12:05:48

Git 常用命令整理

转自:http://justcoding.iteye.com/blog/183038初始化配置C代码  #配置使用git仓库的人员姓名  git config --global user.name "Your Name Comes Here"    #配置使用git仓库的人员email  git config --global user.email 

2015-08-24 11:34:37

Android性能优化典范 - 第3季

Android性能优化典范 - 第3季AUG 11TH, 2015 | COMMENTSAndroid性能优化典范的课程最近更新到第三季了,这次一共12个短视频课程,包括的内容大致有:更高效的ArrayMap容器,使用Android系统提供

2015-08-20 12:34:23

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!