
Android
文章平均质量分 82
杨武博
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android下载管理问题分析
一、场景某一天,项目组反馈问题,说文件下载的功能在某些机型上无法使用,下载文件失败。二、问题分析首先查看了问题表现,是一台鸿蒙系统的手机,当时手上还有其他事情,只是记了下来,后续分析。等到实际分析此问题的时候,脑海中有个固有印象,会不会是鸿蒙系统的适配有问题,但是作为工程师,首先就需要排除错误路径,于是找了其他手机来 测试复现问题,发现并不是,自己的测试OPPO手机上也有此问题,无法下载,表现为在Download目录下是一个 临时文件,创建了,但是文件大小为 0 , 当时并没有引起重视,原创 2022-05-25 11:54:16 · 1218 阅读 · 0 评论 -
App集成支付功能
一、场景由于App 是从flutter 转基于webview 的混合开发方式, 业务发展需要,需要集成微信支付和支付宝支付功能。二、集成1、微信开放平台文档阅读微信开放文档刚开始以为只需要单独阅读 微信支付 部分, 在了解的过程中发现其中提到的很多东西由于自己没有去从头开始处理,导致无法确认其来源在哪里(比如签名),于是会产生很多疑惑。另外就是微信开放平台上面提供的sample 十分老旧,安卓端的功能和文档对不上,苹果端的demo直接用最新xcode打开后,工程结构都有问题,这样就给原创 2022-05-05 16:13:31 · 1274 阅读 · 0 评论 -
Android11系统应用兼容适配
一、背景客户使用了安卓11系统手机,发现应用安装闪退,于是分析,发现需要做升级适配。二、遇到问题应用中之前有提供一个手机唯一标识的功能,是通过调用安卓系统接口TelephoneManager 来获取IMEI的,然后再新的系统版本上发现此接口无法获取该信息,才知道原来安卓也和苹果一样,对于这种信息不再提供给外部三方应用,个人猜测也是基于用户隐私安全考虑,市场上这么多三方应用,如果都通过该系统接口获取到唯一标识,多个三方应用之间再共享数据,则可以将每台手机的用户从各个维度进行用户画像,真的.原创 2021-05-27 14:53:03 · 4915 阅读 · 2 评论 -
关于AndroidStudio中 gradle使用问题
一、 场景Android studio 更新到4.1.1版本,在新的环境中下载了一份代码,准备调试,发现gradle 工程没有出来,总是报错。二、分析1、刚开始以为是版本不匹配导致,于是修改build.gradle中的版本dependencies { classpath 'com.android.tools.build:gradle:3.4.1' // NOTE: Do not place your application dependencies her.原创 2021-05-25 16:49:26 · 850 阅读 · 0 评论 -
语音识别功能集成总结
一、场景业务需求,需要集成语音识别功能,供移动端使用。二、调研经过初步了解,决定集成国内主流的三家厂商,科大讯飞、百度、腾讯。 讯飞不用说,在语音识别这块之前被评为全球最聪明的50家公司之一,后面两个都是传统的大厂。三、基本技术概念VADVoice Activity Detection, 语音端点检测技术。这个技术的主要任务是从带有噪声的语音中准确的定位出语音的开始和结束点,因为语音中含有很长的静音,也就是把静音和实际语音分离开来,因为是语音数据的原始处理,所以VAD是语音信号处..原创 2021-03-02 16:32:01 · 1662 阅读 · 0 评论 -
关于安卓集成zxing扫码功能问题
一、场景安卓应用需要集成扫码功能二、解决方案从网上了解到的方法大部分都是集成zxing开源方案的,具体地址如下:https://github.com/zxing/zxing之前在网上找到一个案例集成,发现没有支持相册图片扫码功能,于是再次寻找方案,看到的大体思路如下:1、界面增加跳转访问相册,获取图片uri;2、对图片进行采样压缩处理;3、将压缩后的bitmap图片流文件使用zxing 接口进行解码识别;4、返回识别结果;流程看起来很简单清晰,但是在调试过程中发.原创 2020-11-19 14:53:55 · 787 阅读 · 0 评论 -
关于AndroidStudio 导入其他项目时gradle问题
一、场景由于AndroidStudio 工具不断升级,有时候在github 上找到的项目使用的版本比较老,导致导入的工程经常无法正常编译过。二、找到的方法在网上找到的看起来比较可行的方法是这个:https://blog.youkuaiyun.com/jiyidehao/article/details/53572912?utm_source=blogxgwz0注意点:1、插件和gradle版本要匹配2、build.gradle中配置的 compileSdkVersion 和...原创 2020-11-18 19:05:20 · 2247 阅读 · 0 评论 -
移动端混合开发webview对于https 和 http 混合使用
一、问题场景在混合开发应用中出现https资源无法访问的现象二、问题分析对于https的页面访问,之前测试过新浪https://www.sina.com.cn/能够正常访问,觉得应该是没有问题的,于是使用问题页面进行测试,发现访问https://192.168.13.34 类似这样的IP形式的页面确实有问题。安卓报错如下:I/X509Util: Failed to validate the certificate chain, error: java.security.cer..原创 2020-11-05 14:08:23 · 1402 阅读 · 0 评论 -
关于Android自定义权限同名问题
一、问题背景在应用中同时集成来 个推和百度 两个三方消息推送平台,在开发调试阶段一直是编译的debug版本,没有出现问题。后面在应用阶段编译release 版本突然出现如下报错:AndroidManifest.xml: Error: Permission name BaseWebviewApp is not unique (appears in both baidu.push.permission.WRITE_PUSHINFOPROVIDER.com.org.BaseWebviewApp and ge原创 2020-10-13 13:41:32 · 1612 阅读 · 0 评论 -
Linux下部署打包安卓应用环境gradle采坑记
1、场景开发在线打包功能,在网页前端输入各种配置,Java后台将资源后者参数传给打包脚本,并执行脚本打包出应用。为了将前后台代码和安卓打包环境实现一键部署,需要将环境结构做一个类似镜像的压缩文件出来,方便日后别人使用时,放置到服务器上只要运行脚本即可部署好。2、使用shell脚本构建好文件目录结构,解压缩出安卓源代码,编译sdk, 签名文件, gradle工具文件,按照固定的目录结构,成功打包。然后将此结构使用tar命令压缩后,放入另外一个目录,用脚本解压以及完成相关的目录创建,最后运行程序,始终在原创 2020-06-12 14:47:02 · 504 阅读 · 0 评论 -
【Android】桌面进入应用重启问题
使用手机系统第一次安装apk之后直接打开,进入应用二级菜单,将应用退到后台,然后再次从桌面进入应用,出现应用重启重新回到主菜单的问题。此问题应该算是一个厂商问题,从log来看,当从第一次打开的应用进入到后台之后,然后从桌面点击应用的信息如下:第一次安装完之后打开应用:Line 33: 05-18 16:12:11.604 1511 1980 I ActivityManager: ...原创 2018-06-21 08:51:41 · 1438 阅读 · 0 评论 -
安卓5.0版本 webview 不回调出错方法问题
安卓5.0版本的webview 不回调出错方法,将网络断开后,只能看到底层chromium报错,:各个接口都已经尝试:@Overridepublic void onPageFinished(WebView view, String url) { Log.d(TAG,"=====onPageFinished url="+url); //记录当前URL,判断是否在主业面...原创 2018-11-06 09:17:38 · 1335 阅读 · 0 评论 -
使用ApkTool工具将app变为debug状态的方法
一、问题场景:有同事想获取某一个应用中的图片资源,在反编译apk之后,发现这些图片没有直接打包在apk中,猜想是从服务器加载,是都会在应用本地有缓存,从而提升应用 流畅度,在应用SD卡创建的目录中查看一番,无果,然后想到是否会在/data/data/应用包名 目录下面,于是想查看一下,结果显示Permission denied。这也正常,别人发布出来的应用自己的数据岂能让你随便想看就看?真是...原创 2018-08-03 15:19:50 · 5160 阅读 · 1 评论 -
关于webview适配H5上传照片或者视频文件的方法
一、需要实现的功能:用H5实现的App中需要在H5获取手机中的照片或者视频文件上传到服务器。二、分析实现方法:由于不懂前端开发,不知道H5中有 input file之类的标签控件,可以用来选择文件,刚开始的思路还是想着native 端是否要通过提供inputstream流方式,将文件内容传递给JS。后来和前端沟通之后,H5在电脑端都是用input 设置type为 file 来实现...原创 2018-07-12 15:56:12 · 4421 阅读 · 2 评论 -
Android6.0 系统上运行时权限检测checkSelfPermission接口问题
在 Android6.0 系统的机器上测试运行时权限,将应用获取摄像头权限禁止掉,然后应用在调用扫码功能时,检测权限,并确定是否要获取权限,然后根据权限的获取结果启动扫码界面,还是已有 权限直接启动扫码界面:但是接口的返回值却没有想象中的那么顺利,使用context.checkSelfPermission接口再我将应用相关权限禁止时,依然返回已经granted授权,这就让代码的逻辑无法像之...原创 2018-07-10 16:42:56 · 16281 阅读 · 1 评论 -
解决webview加载网页由于下载JS文件导致加载慢的问题
webview加载服务器上的网页时,由于前端在渲染H5的时候需要引用JS代码文件(我的猜想,不懂前端),有的JS代码库时通用的,比较大,如果从服务器下载,在网络差的情况下需要一定的时间,导致页面加载变慢,甚至出现webview加载页面变白无法加载任何东西的问题,所以此时需要优化,想到的一个解决策略是将那些通用不变的大的js代码库放到手机本地和apk一起打包,然后在webview加载服务器的H5...原创 2018-07-05 18:56:51 · 5563 阅读 · 0 评论 -
同一个应用安装两个apk在同一个手机的方法
对应安卓应用对比测试,有时候需要在同一个手机上安装release 和 debug 两个版本或者,有其他特殊定制需求版本,此时两个apk的代码基本相同,但是由于包名相同,无法同时安装两个,此时可以通过如下配置:buildTypes { debug { applicationIdSuffix "debug" } release { ...原创 2018-07-04 13:50:27 · 14657 阅读 · 0 评论 -
JS 和 Native 互相调用方式
一、网页JS调用Native中java代码网页和本地代码的交互主要是通过webview这个桥梁来进行的,webview中的如下接口:接口中的第一个参数object, 为注入webview的java对象第二个参数name, 为暴露给javaScript使用的名字。即通过该接口给webview注入一个object对象,然后javaScript可以通过name来引用ob...原创 2018-06-26 16:46:05 · 6667 阅读 · 0 评论 -
安卓中使用xml来实现Drawable可绘制对象
之前对于安卓中的图形绘制一直只会使用简单的图片来使用,对于使用xml中通过各种标签绘制来实现的绘制一脸懵逼。现在需要使用进度条功能,从网上看到的xml配置实现,才开始了解这一块,官网文档说明很多很清晰:https://developer.android.google.cn/guide/topics/resources/drawable-resource截取自己实践的示例来记录一下...原创 2018-06-21 17:16:41 · 2941 阅读 · 0 评论 -
Android通知Notification中通过intent传参问题
1、问题场景:安卓混合开发应用中,本地服务service接收服务器推送的告警消息,收到告警消息后发送通知Notification,当点击通知栏上的告警消息,需要跳转到前端实现的某个 历史告警信息页面,即在发送通知的pendingIntent中要传递 前端告警页面的url信息。问题出现为每次点击跳转后,intent中的参数url传递过去始终为空:服务中发送通知:Intent intent...原创 2019-05-16 14:58:45 · 2504 阅读 · 0 评论