android开发实战
文章平均质量分 52
Tomes_V_White
我对技术一无所知
展开
-
AS编译时More than one file was found with OS independent path ‘lib/arm64-v8a/libc++_shared.so‘. If you
今天土地再次惨嚎原来他被老大安排了一个集成sdk的任务问题集成sdk的时候,android studio报错More than one file was found with OS independent path 'lib/arm64-v8a/libc++_shared.so'. If you are using jniLibs and CMake IMPORTED targets解决方法找到对应工程的build.gradle android { pa原创 2022-03-25 20:44:37 · 5551 阅读 · 0 评论 -
Android Studio 显示Git的Local Changes窗口
前言因为使用新的mac环境,下载了最新的android studio今天在做开发后,想看看本地修改了哪些文件,结果发现本人熟悉的Local Changes窗口居然找不到了,不习惯的让我浑身难受解决方法打开Preferences,选择Version Control,选择commit,并取消Use non-modal commit interface勾选,点击ok生效好了,熟悉的界面又回来了...原创 2022-03-16 19:49:19 · 6899 阅读 · 0 评论 -
MAC下配置 adb 环境变量
前言今天又换成mac进行开发了,拿到一个全新的mac环境,又得重新搭建环境,我陷入了沉思在下载了android studio的前提下,不需要再额外下载什么了,只需要将adb的路径加入到环境变量中设置步骤找到Android/sdk的路径修改bash_profile使用vi命令打开.bash_profilevi ~/.bash_profile向.bash_profile文件中写入以下内容export ANDROID_HOME="Android/sdk所在路径"ex原创 2022-03-08 18:56:16 · 5920 阅读 · 0 评论 -
Android App清除数据的方案
前言最近MIUI13上出了个未经应用商店安装,算是未知来源。AndroidID,通知,网络权限没授权则默认关闭。安装app时允许虚拟身份ID: 允许允许虚拟身份ID前获取一次AndroidId: attachBaseContext获取AndroidId, 此时还没有点允许虚拟身份ID,此时获取的AndroidId:0000000000000000,允许虚拟身份后后再获取也是不会变化的,需要杀进程重新打开app才能获取正确的AndroidId。 允许虚拟身份ID后获取AndroidI原创 2022-02-22 20:23:34 · 5080 阅读 · 3 评论 -
attachBaseContext里调用getApplicationContext 返回 null的底层原因和解决方法
前言昨天徒弟终于能把rn工程跑起来了,高兴还没一天,今天在哀嚎着找到我……徒弟说,“我就在application里的attachBaseContext初始化sdk,把application作为对象传进去,里面拿着这个对象去获取context”application.getApplicationContext()“为什么这个值是null呢?我其他地方拿都是正常可以拿到的啊!!!!” @Override protected void attachBaseContext(Co原创 2022-01-11 19:01:39 · 3803 阅读 · 0 评论 -
Android studio编译中Connect to maven.google.com:443[xxx] failed: connect timed out的解决方法
前言最近徒弟分到了一个rn的模块开发工作,但rn,大家懂的,Android studio有时需要科学上网下载必要的rn库。又是一个徒弟哀嚎的日子。问题连接maven.google.com超时具体编译报错如下:> Could not resolve all artifacts for configuration ':react-native-qr-decode-image-camera:releaseRuntimeClasspath'. > Could not reso原创 2022-01-10 19:45:43 · 3810 阅读 · 0 评论 -
懒人专用-最简明的JNI日志打印
前言又是一个带新人的日子,徒弟有新模块需要打日志调试,结果徒弟扭扭捏捏的。好吧,看来他又遇到了不好意思问的问题了。对于大多数Android开发同学,注意力都放在java层,平时很难有机会去写c层。一旦涉及c层编码的时候,大部分同学都会碰到日志输出的问题。这里介绍一个最简单的日志使用方法,拿去就用。主要用于熟悉和临时代码调试。如果有更多的需求,还是建议使用更加强大的日志库使用步骤1、使用Android studio的同学在新建工程的时候选择native工程【会使用cmake的通用不用看原创 2022-01-06 17:45:37 · 2764 阅读 · 0 评论 -
Android 12 targetSdkVersion为31应用的安装问题
targetSdkVersion 31的应用在Android 12上安装时可能会存在两种安装不上的情况。问题一:adb: failed to install xxx.apk: Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Scanning Failed.: No signature found in package of version 2 or newer for package com.tomes.sharefile]解决:分析与解决请原创 2021-03-30 15:25:03 · 15247 阅读 · 4 评论 -
Android性能调优--StrictMode
转载自:https://blog.csdn.net/weixin_40763897/article/details/89018306性能无外乎就是CPU密集型或I/O密集型两种。StrictMode是一个开发者工具,常用于捕获在应用主线程中发生的磁盘I/O、网络访问违例等问题。StrictMode具体能检测什么呢StrictMode主要检测两大问题:线程策略(TreadPolicy)和VM策略(VmPolicy)。ThreadPolicy线程策略:1.自定义的耗时调用,使用detect转载 2021-03-17 11:16:41 · 349 阅读 · 0 评论 -
Android 12的行为变更和版本兼容思路
一年一度的产品线兼容活动又开始了。Android系统每更新一次系统,对开发者而言都是持续而漫长的挑战。自15年6.0的兼容以来,每年给公司产品线app做版本兼容,成了我每年的保留节目……结束完产品线app对鸿蒙系统的兼容适配后,今天开始搞Android12的兼容处理工作。同学们,android12预览版已出,工头叫我们搬砖了。目的产品线app兼容Android12思路先看看官方的时间规划,以便我们了解官方每个时间节点在做什么,最重要的是知道他的beta版什么时候出,什么时候最终发原创 2021-03-16 20:10:45 · 6334 阅读 · 0 评论 -
通过Chrome实时调试webview
为了方便webview的动态调试,googl官方提供了一个好用的调试途径,即使用Google浏览器调试Android端的webview页面方法1.确保pc的adb环境不懂的请看https://blog.csdn.net/zmeilin/article/details/893172692.手机开启开发者模式,并且Usb 连接到电脑3.Android工程里的webView代码 开启调试模式mWebView.setWebContentsDebuggingEnabled(true);修原创 2020-12-11 11:29:20 · 1123 阅读 · 0 评论 -
startActivity exposed beyond app through Intent.getData()
问题通过startActivity去对外打开、分享数据时出现android.os.FileUriExposedException: file:///storage/emulated/0/xxx exposed beyond app through Intent.getData() at android.os.StrictMode.onFileUriExposed(StrictMode.java:1960) at android.net.Uri.checkFileUr原创 2020-09-03 14:58:09 · 408 阅读 · 0 评论 -
Android R(11)targetSdkVersion 30的应用必须使用v2及以上签名
前言最近Android 11已发布beta2版本,为了尽快适配和体验Android 11,我们做了点前期的小工作https://developer.android.google.cn/android11问题当apk的targetSdkVersion为30时,在android 11的手机上安装时,会出现安装失败的问题。可以通过执行安装命令安装应用,发现报错adb install 报错信息:Failure [INSTALL_PARSE_FAILED_NO_CERTIFICAT原创 2020-07-17 15:02:39 · 11260 阅读 · 0 评论 -
adb获取activity信息
获取activity栈adb shell dumpsys activity activities结果如下:➜ ~ adb shell dumpsys activity activitiesACTIVITY MANAGER ACTIVITIES (dumpsys activity activities)Display #0 (activities from top to bottom): Stack #306: type=standard mode=fullscreen is原创 2020-07-03 18:07:34 · 1619 阅读 · 0 评论 -
Android人脸识别开发入门--基于虹软免费SDK实现
转载自:https://www.jianshu.com/p/75733cff88a3引言人工智能时代快速来临,其中人脸识别是当前比较热门的技术,在国内也越来越多的运用,例如刷脸打卡,刷脸APP,身份识别,人脸门禁等。当前的人脸识别技术分为WEBAPI和SDK调用两种方式,WEBAPI需要实时联网,SDK调用可以离线使用。Android作为一个比较广泛的平台,如何实现人脸识别功能转载 2018-02-07 11:49:17 · 674 阅读 · 0 评论 -
Android中插件开发篇之类加载器
转载自:http://blog.csdn.net/jiangwei0910410003/article/details/41384667前言关于插件,已经在各大平台上出现过很多,eclipse插件、chrome插件、3dmax插件,所有这些插件大概都为了在一个主程序中实现比较通用的功能,把业务相关或者让可以让用户自定义扩展的功能不附加在主程序中,主程序可在运行时安装和卸载。在android如何实现...转载 2018-03-01 11:51:02 · 301 阅读 · 0 评论 -
Android中插件开发篇之应用换肤初级实现原理解析
转载自:http://blog.csdn.net/jiangwei0910410003/article/details/47679843一、前言今天又到周末了,感觉时间过的很快呀.又要写blog了。那么今天就来看看应用的换肤原理解析。在之前的一篇博客中我说道了Android中的插件开发篇的基础:类加载器的相关知识。没看过的同学可以转战:http://blog.csdn.net/jiangwei09...转载 2018-03-01 15:19:40 · 272 阅读 · 0 评论 -
Android动态资源加载原理和应用(初级版)
转载自:http://blog.csdn.net/cauchyweierstrass/article/details/51067729动态加载资源原理通常我们调用getResources()方法获取资源文件[java] view plain copypublic Resources getResources() { return mResources; } mResources是在创...转载 2018-03-03 10:19:20 · 536 阅读 · 0 评论 -
Android开发之签名V1和V2的区别
转载自:http://blog.csdn.net/francisbingo/article/details/78655848在我们使用Android studio打包签名的时候可以选择两种签名方式。如下图对于V2的官网解释如下官网地址:https://android-developers.googleblog.com/2016/11/understanding-apk-packaging-in-a...转载 2018-03-21 23:17:35 · 704 阅读 · 0 评论 -
Android UI性能优化之Hierarchy Viewer使用详解
转载自:https://blog.csdn.net/swordgirl2011/article/details/528879251. 功能Hierarchy Viewer工具提供了一个可视化界面显示布局的层次结构,让我们可以进行调试,从而优化界面布局结构。2. 启动工具启动方式有两种,一种是通过终端命令,输入hierarchyviewer,进行启动,第二种是通过打开Android Device M...转载 2018-04-18 15:45:29 · 632 阅读 · 0 评论 -
Android Volley完全解析之定制自己的Request XMLRequest GsonRequest
转载自:http://blog.csdn.net/guolin_blog/article/details/17612763经过前面两篇文章的学习,我们已经掌握了Volley各种Request的使用方法,包括StringRequest、JsonRequest、ImageRequest等。其中StringRequest用于请求一条普通的文本数据,JsonRequest(JsonOb转载 2017-12-18 11:40:06 · 457 阅读 · 0 评论 -
Android Volley完全解析之从源码的角度理解Volley
转载自:http://blog.csdn.net/guolin_blog/article/details/17656437经过前三篇文章的学习,Volley的用法我们已经掌握的差不多了,但是对于Volley的工作原理,恐怕有很多朋友还不是很清楚。因此,本篇文章中我们就来一起阅读一下Volley的源码,将它的工作流程整体地梳理一遍。同时,这也是Volley系列的最后一篇文章了。转载 2017-12-18 15:24:30 · 343 阅读 · 0 评论 -
Android Volley完全解析之加载网络图片
转载自:http://blog.csdn.net/guolin_blog/article/details/17482165在上一篇文章中,我们了解了Volley到底是什么,以及它的基本用法。本篇文章中我们即将学习关于Volley更加高级的用法,如何你还没有看过我的上一篇文章的话,建议先去阅读Android Volley完全解析之Volley的基本用法在上篇文转载 2017-12-18 10:10:34 · 301 阅读 · 0 评论 -
Android Volley完全解析之Volley的基本用法
转载自:http://blog.csdn.net/guolin_blog/article/details/174820951. Volley简介我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据。Android系统中主要提供了两种方式来进行HTTP通信,HttpURLConnectio转载 2017-12-16 15:31:29 · 339 阅读 · 0 评论 -
MVP 详解(上)
转载自:http://www.jianshu.com/p/9a6845b26856MVP 在 Android 上的使用其实已经有挺长一段时间了,长到似乎有点“过时”了(目前风头正劲的是MVVM),那为什么现在还要讲 MVP。今天我想要讨论它的主要原因有如下几点:1. MVP 并未过时,值得我们研究2. 目前关于 MVP 的资料都不算太详尽3. 由于能力和时间有限,本人拖到最近才下定决心写说转载 2017-12-16 14:43:34 · 791 阅读 · 0 评论 -
浅谈MVP
转载自:http://blog.csdn.net/lmj623565791/article/details/46596109一、概述对于MVP(Model View Presenter),大多数人都能说出一二:“MVC的演化版本”,“让Model和View完全解耦”等等。本篇博文仅是为了做下记录,提出一些自己的看法,和帮助大家如何针对一个Activity页面去编写针对MVP风格的代转载 2017-12-15 15:22:11 · 241 阅读 · 0 评论 -
Android自定义View之仿京东售后审核进度
转载自:http://blog.csdn.net/qq_33553515/article/details/78356028概述:同常在做商城类的App时,都会有售后的需求,而售后流程通常会因为不同的业务,而分为不确定的几个步骤,如下图所示:那么问题就来了,像这样的效果如何实现呢?让我们先放下这个问题,先看看UI模仿的京东原图是怎样的:最后在看看我最终实现的效果:转载 2017-12-01 15:47:11 · 371 阅读 · 0 评论 -
Android 使用蓝牙技术实现终端间数据传输
转载自:http://blog.csdn.net/smartbetter/article/details/53117527蓝牙技术在智能硬件方面有很多用武之地,今天我就为大家分享一下蓝牙技术在Android系统下的使用方法技巧。蓝牙是一种短距离的无线通信技术标准,蓝牙协议分为4层,即核心协议层、电缆替代协议层、电话控制协议层和采纳的其它协议层。这4种协议中最重要的是核心协议。蓝牙的核心转载 2017-09-19 14:28:39 · 1234 阅读 · 0 评论 -
Android UI性能优化之Overdraw
转载自:https://blog.csdn.net/u011693517/article/details/49155965什么是Overdraw?Overdraw就是屏幕上某个像素点在同一帧被绘制了多次。在多层布局结构中,不可见部分也会被绘制。举个例子,一个白色页面上有一个按钮。系统首先绘制白色背景,然后在白色背景上绘制按钮,最后在按钮背景上绘制按钮内容。那么按钮和按钮内容就造成了Overdraw...转载 2018-04-18 16:36:20 · 341 阅读 · 0 评论 -
Android性能优化之常规启动优化
转载自:https://juejin.im/post/5874bff0128fe1006b443fa0一、前言随着项目版本的迭代,App的性能问题会逐渐暴露出来,而好的用户体验与性能表现紧密相关,从本篇文章开始,我将开启一个Android应用性能优化的专题,从理论到实战,从入门到深挖,手把手将性能优化实践到项目中,欢迎持续关注!那么第一篇文章我就从应用的启动优化开始,根据实际案例,打造闪电般的Ap...转载 2018-04-20 14:23:17 · 363 阅读 · 0 评论 -
Android开发技巧之五分钟实现二维码识别
Android,实战,功能,二维码识别,基础入门,开发技巧转载 2017-04-27 14:53:27 · 1495 阅读 · 0 评论 -
判断应用或Activity是否存在
一、判断应用是否存在方法一:通过usb连接的方式 使用adb命令查看已安装的文件列表adb shell pm list package然后通过查看列表里是否含有对应的应用名来判断是否安装某应用,列表如下:$ adb shell pm list packagepackage:com.google.android.carriersetuppackage:com.sangfor....原创 2019-09-28 10:09:07 · 3366 阅读 · 0 评论 -
Android应用保活方案的另类出路(单像素activity法)
转载自:https://blog.csdn.net/jiangwei0910410003/article/details/82558465另一篇参考:https://blog.csdn.net/Lingbulei/article/details/79452514个人挺喜欢四哥的博客,干货挺多,此处仅作为学习记录一用。至于评论问答环节,请去源博客地址翻阅。上面以附上地址。一、前言我们在...转载 2019-01-14 09:36:49 · 990 阅读 · 1 评论 -
我们仍未知道的popWindow 7.0 8.0位置显示错误
popWindow一个神奇的控件,为了记录自己曾解决过的问题,也避免其他小哥遇到一样的问题,故留下博客进行记录。最近在写一个下拉框的时候,测试小哥找到我说7.0,7.1,8.0的显示效果不一致……我当时的心情是……&¥%#&&(&好吧,当遇这样的问题,第一反应是不要慌……不要慌……甩锅……不对,是分析并解决问题。由于各种原因我这里就不上产品的效果,取而代...原创 2018-11-21 11:49:10 · 264 阅读 · 0 评论 -
从零开始的ARouter新手篇
1、ARouter是什么?ARouter是阿里开源的一款android路由框架。按照git上的原说法:他是一个用于帮助 Android App 进行组件化改造的框架 —— 支持模块间的路由、通信、解耦。2、ARouter有什么作用?解耦、方便管理多页面的动态跳转,提供组件化解耦的一种方案,同一Native与H5的跳转方法。3、为什么要用ARouter?动态跳转:针对复杂逻辑下,...原创 2018-11-20 16:18:54 · 3900 阅读 · 4 评论 -
DataBinding系列:DataBinding的基本用法
转载自:https://www.jianshu.com/p/70316eb4e0f81.在xml中引入一些基础变量Variablesdata 标签中可以有任意数量的 variable 标签。这些变量可以使Java中的任意数据类型,每个 variable 标签描述了会在 binding 表达式中使用的属性。<layout xmlns:android="http://schemas...转载 2018-10-31 19:52:03 · 786 阅读 · 0 评论 -
DataBinding系列:DataBinding初认识
转载自:https://www.jianshu.com/p/53925ccb900e 早在2015谷歌 I/O大会上,就介绍了一个新的框架DataBinding,从名字就可以看出来,这是一个数据绑定框架。我们为什么要使用DataBinding?1.再也不需要编写findViewById了,有人会说,已经有butterknife了,很好用。2.更新UI数据需切换至UI线程,也有人说,有rx...转载 2018-10-31 19:50:38 · 240 阅读 · 0 评论 -
在Android里禁止横竖屏是否搞错了什么
最近有个小需求,需要禁止指定的fragment进行横竖屏切换。由此引出了本文,算是对该需求知识点的一个小结。首先简单的说下一般横竖屏切换的基本操作。网上的博客大多数都是针对activity做的,即禁止当前activity。至于说横竖屏切换后生命周期的变化或如何解决由于横竖屏切换导致需要保存数据的问题,已有很多前辈高手去写,这里不再累述。确实有需要,请留言,菜鸡会在本文末尾进行补充说明。...原创 2018-11-19 17:37:23 · 542 阅读 · 2 评论 -
你应该知道的MessageQueue.IdleHandler
转载自:https://wetest.qq.com/lab/view/352.html我们知道android是基于Looper消息循环的系统,我们通过Handler向Looper包含的MessageQueue投递Message, 不过我们常见的用法是这样吧? 一般我们比较少接触MessageQueue, 其实它内部的IdleHandler接口有很多有趣的用法,首先看看它的定义:...转载 2018-09-25 12:01:16 · 413 阅读 · 0 评论 -
java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
转载自:https://blog.csdn.net/dsc114/article/details/44857685首先描述下所要实现的功能点:MainActivity使用Fragment实现底部菜单,底部共有四个菜单按钮,分别对应:AFragment,BFragment,CFragment,DFragment。其中AFragment是默认显示。点击CFragment中的一个button后跳转到第二...转载 2018-06-06 19:54:53 · 1364 阅读 · 0 评论