Android开发实用记录,遇到什么更新什么

Android Bad Practices: Missing Google Play Services Updated Security Provider Android 程序的安全检测,检测到的漏洞。 解释: 应用程序不使用 Google Play 服务更新的安全提供程序,这可能使其未来易遭受 OpenSSL 库中漏洞的攻击。 Android 依赖于可提供安全网络通信的安全提供程序。 但是,有时漏洞存在于默认安全提供程序中。 为了防 范这些漏洞,Google Play 服务可提供用于自动更新设备安全提供程序的方法,以防御已知盗取手段。 通过调用 Google Play 服务方法,您的应用程序可以确保其在具有最新更新的设备上运行,以防御已知盗取手段。 阅读详情

1、 使用DataBinding框架时(这个很好用,自行搜查),运行报某某Binding包找不到的错,这里又分多种情况:

( 1 ) 点错误提示跳到错误位置,是曾经用DataBinding绑定过的类,虽然删除不用了,但是build文件里还存在引用,解决方法是:删除整个build文件夹,然后重新运行,就会重新生成新build文件夹

( 2 ) 数据绑定错误,这个错的原因可能是你绑定的数据不存在,一般出现在我们改动了实体类的数据结构,但忘记改XML文件控件绑定的数据指向,注意:这个错可能会引发多个Activity的DataBinding对象报错,但可能根本上就只有一个地方错了,所以不要乱改,先检查最上面那个错误提示的指向的XML,看看有没有控件数据绑定不正确,修复了再运行有可能其他错都没了

( 3 ) 引入某些v7、v13…各种v包之后提示某某dinbing找不到:今天集成支付宝支付,官方demo有个v13包,我把它引入了,但是引入就出错了。我想在demo上运行良好肯定在自己项目也没问题,就没有怀疑这个v13,一直在怀疑DataBinding的错,结果花了我4个小时逐步逐步就把它找出来了,没错.就是它!就是它!!就是它!!!它里面有个V4包,所以引入冲突了。最后把它删了(删了发现支付宝也不需要这个)朋友们,细心点,别像我一样傻吧傻啦的啊!!

2、 新建项目或者导入项目时,报这个错:

Error:Unable to start the daemon process. This problem might be caused by incorrect configuration of the daemon. For example, an unrecognized jvm option is used. Please refer to the user guide chapter on the daemon at https://docs.gradle.org/2.14.1/userguide/gradle daemon.html Please read the following process output to find out more: ----------------------- Error occurred during initialization of VM Could not reserve enough space for 1572864KB object heap
翻译:
错误:无法启动守护进程。这个问题可能是由于不正确的配置的守护进程。例如,一个未被使用jvm选项。请参阅用户指南章守护进程在https://docs.gradle.org/2.14.1/userguide/gradle守护进程。html请阅读以下流程输出找到更多:- - - - - - - - - - - - - - - - - - - - - - - -错误发生在初始化期间的VM不能为1572864 kb对象堆预留足够的空间

解决办法:
这里写图片描述
加一个“#”问题解决

**3、**SocketTimeoutException,可能出错原因:发送请求连接服务器的时候,设置的响应时间过短!!今天上午能连接下午就连接不了了,我和服务端的哥们一直找这个错,因为我觉得上午都能连下午连不了肯定不是我的问题啊!最后看到setReadTimeout(常量);定义常量的时候我记得赋的10000,不知道什么时候中途可能哪碰到返回键减了一个0,因为是常量所以也一直没怀疑这个。。。该打该打,少写了个0赋成1000了

4、自己写了一个自定义控件,然后开源了。接着自己引用它的时候报错:

Error:Execution failed for task ':app:processDebugResources'.
> com.android.ide.common.process.ProcessException: Failed to execute aapt

看了一下原因:,是因为这个开源的控件的某个属性名和自己现在项目中的某个控件的某个自定义属性名相同

**解决方法:**根据错误提示定位错误的行数,找到这两个控件相同的属性名。然后把自己项目中涉及到的这个控件的属性名改了

5、 导入库项目时报的错:
这里写图片描述

原因:你导入的这个库的build.gradle文件配置和你主项目的build.gradle的配置有冲突,比如:导入的这个库最小版本支持16,但你主项目最小版本支持15,那么就会报这个错。还有导入的库和现在的主项目依赖或者引用了同一个库也会报这个错

6、生成签名APK是出错:

这里写图片描述

解决: gradle里增添
这里写图片描述

7、InflateException:
这里写图片描述
**出错原因1:**没有在build.gradle里增添DataBinding插件,就在布局文件中使用了<layout></layout> 标签
**解决:**在build.gradle增添这个插件—这里写图片描述

8、打包时出错:
1.如果混淆代码写的没问题还是报这个错:
这里写图片描述
**解决:**执行命令:gradle clean assembleRelease -d 然后再打包

9、AndroidStudio使用jdk1.8时乱码:
今天想使用 Lambda表达式,就按网上的方式在项目build.gradle增添了下面配置:

defaultConfig {
   ...
        jackOptions.enabled = true
    }
    compileOptions {
        targetCompatibility 1.8
        sourceCompatibility 1.8
    }

虽然Lambda表达式可以用了,但是当某个控件setText(“文字”)时会显示乱码,解决方案:
在gradle.properties文件里增添: org.gradle.jvmargs=-Dfile.encoding=UTF-8
在这里插入图片描述
10、OkHttp网络访问https时,4.4以上机器没问题,以下的报SSLHandshakeException异常
原因: https单向认证问题
android 4.4没有启用TLSv1.1 和 TLSv1.2 传输层安全协议
虽然Android 16就虽然已经支持了TLS1.1和TLS1.,但是默认并没有开启,API 20才默认开启
解决:(https://www.jianshu.com/p/a9ab1b90f730)
项目build.gradle文件中添加

dependencies {
....
implementation 'com.google.android.gms:play-services-auth:16.0.1'
}

Application中添加

try{
	ProviderInstaller.installIfNeeded(this);
} catch (GooglePlayServicesRepairableException e) {

} catch (GooglePlayServicesNotAvailableException e) {
}

一定要try catch

Verilog实现SPI通信协议驱动设计 线性序列机实现SPI协议 阅读详情

相关推荐

无人机飞控技术最详细解读

已剪辑自: https://zhuanlan.zhihu.com/p/64519280[导读]被称作是“飞行器的大脑”的飞控到底是什么?以前,搞无人机的十个人有八个是航空、气动、机械出身,更多考虑的是如何让飞机稳定飞起来、飞得更快、飞得更高。如今,随着芯片、人工智能、大数据技术的发展,无人机开始了智能化、终端化、集群化的趋势,大批自动化、机械电子、信息工程、微电子的专业人材投入到了无人机研发大潮中,几年的时间让无人机从远离人们视野的军事应用飞入了寻常百姓家、让门外汉可以短暂的学习也能稳定可靠的飞行娱乐。不可

qq_41854911的博客 1万+

保护Android上的通信安全

随着最近的所有数据泄露,隐私已成为一个重要的主题。几乎每个应用程序都通过网络进行通信,因此考虑用户信息的安全性非常重要。在这篇文章中,您将了解保护Android应用程序通信的最新实践。 一 使用HTTPS 在开发应用程序时,最好将网络请求限制为必要的网络请求。对于必要的,请确保它们是通过HTTPS而不是HTTP制作的。HTTPS是一种加密流量的协议,因此窃听者无法轻易拦截它。关于Android...

weixin_44145299的博客 698

nRF52840开发环境搭建:从零开始配置Keil与SDK

本文详细介绍了nRF52840开发环境搭建的全过程,包括硬件准备、Keil MDK与nRF5 SDK的安装配置、常见问题解决方案及蓝牙功能开发进阶。特别强调了J-Link调试器的使用和SDK版本匹配的重要性,帮助开发者快速上手nRF52840开发。

weixin_29176179的博客 882

安卓应用安全指南 5.6.3 密码学 高级话题

5.6.3 密码学 高级话题 原书:Android Application Secure Design/Secure Coding Guidebook 译者:飞龙 协议:CC BY-NC-SA 4.0 5.6.3.1 选择加密方法 在上面的示例代码中,我们展示了三种加密方法的实现示例,每种加密方法用于加密解密以及数据伪造的检测。 你可以使用“图 5.6-1”,...

龙哥盟 4万+

TI毫米波雷达人体生命体征(呼吸、心跳)信号提取算法(IWR6843ISK+DCA1000EVM)

本篇内容介绍的算法主要为传统的提取算法,但可实现在1m内呈现良好的检测效果,能够提取出非常可观的呼吸和心跳波形,但在超出1m的距离后便不适用这个算法了。远距离检测呼吸和心跳始终是这个领域一个很大的挑战。要实现远距离检测可在提取相位信号、分离呼吸和心跳信号上进行改进处理,例如线性解调提取相位、改进的VMD分离呼吸和心跳算法。

m0_61934621的博客 3万+

RISC-V详细介绍

文章目录写在前面什么是RISC-VRISC-V诞生的背景ISA霸权摩尔定律的穷途末路穷困潦倒的学者不断增长的指令数量RISC-V架构设计思想如何设计一个好的ISARISC-V之RV32I四个典型特点RISC-V之乘除法指令指令格式用乘法代替常数除法RISC-V之RV64RISC-V的特权架构机器模式监管者模式 写在前面 本文主要基于RISC-V中文手册,其中包括但不限于一些网络的资料。本文版权属于skywf,转载或借用请联系作者。 什么是RISC-V RISC-V(发音为“risk-five”)是一个基于

skywf的博客 3万+

确保Android上的通信安全

在最近发生的所有数据泄露事件中,隐私已成为重要的话题。 几乎每个应用程序都通过网络进行通信,因此考虑用户信息的安全性很重要。 在这篇文章中,您将学习确保Android应用程序通信安全的最新最佳做法。 使用HTTPS 在开发应用程序时,最佳做法是将网络请求限制为必不可少的请求。 对于必不可少的内容,请确保它们是通过HTTPS而不是HTTP制作的。 HTTPS是一种对流量进行加密的协议,这样它...

代码教主 833

(王道计算机组成原理笔记)第一章计算机系统概述-第二节:计算机系统层次结构 1(计算机系统组成、计算机硬件)

文章目录一:冯诺依曼体系结构(1)存储程序计算机(2)层次结构二:计算机硬件概述(1)存储器A:存储元、存储单元、存储体、存储字和存储字长B:MAR 一:冯诺依曼体系结构 在冯诺依曼体系结构中,计算机的硬件主要有**存储器,运算器,控制器,输入和输出设备(也叫做I/O设备)**组成。 (1)存储程序计算机 冯诺依曼体系结构也叫做存储程序计算机,计算器和计算机的唯一区别就是计算器是不能编程的,只能做电路板中设定好的固定的运算。 这也就意味着计算器本质就是一个不能编程的计算机,其在硬件层面已经将逻辑写死,如果

快乐江湖的博客 1万+

Android 混淆代码总结

为了防止自己的劳动成果被别人窃取,混淆代码能有效防止被反编译,下面来总结以下混淆代码的步骤: 1. 大家也许都注意到新建一个工程会看到项目下边有这样proguard-project.txt一个文件,这个对混淆代码很重要,如果你不小心删掉了,没关系,从其他地方拷贝一个过来 2. 最重要的就是在proguard-project.txt添加混淆的申明了:  a. 把所有你的jar包

矿工的博客 776

一、C++反作弊对抗实战 (基础篇 —— 2.注册表注入DLL)

在Windows NT/XP操作系统中,当需要加载user32.dll的程序启动时,user32.dll会加载注册表键HLM\Software\Microsoft\WindowsNT\CurrentVersion\Windows\AppInit_dlls下面列出的所有模块。

Koma的主页 1098

RK3588开发笔记-Buildroot编译host-nodejs报错解决ModuleNotFoundError: No module named ‘_bz2‘

在RK3588的开发过程中,使用Buildroot进行系统的构建和编译是一个常见的选择。然而,在编译host-nodejs的过程中,有时会遇到报错信息提示。这个错误通常是由于Python环境中缺少相应的模块导致的。以下将记录我解决这个问题的过程。。在RK3588的开发过程中,使用Buildroot编译host-nodejs时遇到的错误,通常是由于缺少相应的Python模块导致的。通过配置buildroot pythong bzip2开发库并重新编译,可以解决这个问题。

flypig has a dream! 898

Android开发助手APP:功能强大的Android开发工具

Android开发助手APP允许开发者查看应用的Manifest文件,了解应用的配置信息,包括权限设置、组件声明等,方便进行应用分析和调试。Android开发助手APP能够查看设备的软硬件信息,包括CPU、内存、存储等,帮助开发者了解设备性能,优化应用的兼容性和性能。开发者可以查看应用的Activity历史记录,了解应用的运行流程和用户操作路径,有助于优化应用的用户体验和性能。Android开发助手APP支持调试应用功能,开发者可以在开发过程中快速定位和解决应用中的问题,提高开发效率。

2501_90259289的博客 1009

华为OD机试 - 末世分配资源包 - 二分查找 + 贪心(Python/JS/C/C++ 新系统 100分)

本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。末世时代,政府为各地方配资源,现有资源分配表 nums[n],要求按如下规则分配给 k 个营地:在最优平均分配情况下,得到最大团队所获得的资源数4,3,6,9,7 216最佳划分之一:[4,3,6] -> 13 [9,7] -> 16最大

学Java,找哪吒 224

Android修改源码实现APP获取root权限执行su命令的gitdiff记录:深度探索Android权限奥秘

Android修改源码实现APP获取root权限执行su命令的gitdiff记录:深度探索Android权限奥秘 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在Android开发中,获取root权限执行系统级操作一直是许多开发者面临的技术挑战。本项目提供了一种通过修改Android源码,让APP能够获取root权限并执行su命令的详细git diff记录。这份记录涵...

gitblog_06753的博客 930

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

另一个笔记应用:一款简单实用的开源Android应用

另一个笔记应用:一款简单实用的开源Android应用 这是一个简单的Android应用,用于记录笔记,由Kotlin和Java编程语言共同构建。项目遵循MVVM架构,并采用Material UI设计,使得界面美观且用户友好。 核心功能 文本和列表笔记:支持记录文本和列表形式的笔记。 归档和回收站:方便管理不再需要或误删除的笔记。 标签管理:可以为笔记添加标签,便于分类和搜索。 提醒功能(包括周期...

gitblog_00991的博客 489

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

学习安卓基础之android 拖动和拖动原理

iv_dragView是要被拖拽的view,需要重写view的ontouch方法,并且一定返回true。 iv_dragView.setOnTouchListener(new OnTouchListener){ float startx = 0; float starty = 0; public boolean onTouch(View v,MotionEvent ev

Zhu_bo的专栏 813

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

android ListView开发经常用到的小知识点

android上改变listView的选中颜色  ListView选中时默认是黄色,很多时候会和我们软件的配色不符合,那么我就教你如何修改默认的ListView配色,改变ListView选中颜色有两个方法:  1. 在程序中:  Java代码   Drawable drawable=getResources().getDrawable(R.drawable.

breeze666的专栏 909

Android 开发技术流程

1.网络连接通信 HttpClient 类通信(见《第一行代码》 郭霖2014.8月第一版P385) Android Asynchronous Http Client (见 http://loopj.com/android-async-http/ ) 更多见 https://github.com/itheima1/Android 2.网页浏览 webView https:...

weixin_34161064的博客 105

ALog:Android日志工具库

ALog:Android日志工具库 项目基础介绍和主要编程语言 ALog 是一个专为 Android 开发者设计的日志工具库,主要使用 Java 语言编写。该库旨在简化 Android 应用中的日志记录过程,提供丰富的功能和灵活的配置选项,帮助开发者更高效地进行调试和日志管理。 项目核心功能 日志显示与控制: 兼容 Android Studio 3.1.0 的 Logcat 完美显示日志。 ...

gitblog_01056的博客 605

实用小技巧汇总

其功能是用于将本地生成的SSH公钥信息复制到远程主机。通常情况下,先使用ssh-keygen命令生成出SSH密钥对文件,随后使用ssh-copy-id命令将公钥文件复制到远程主机上,这样操作后再进行远程SSH访问时将无需进行账号密码的口令验证,而是通过密钥方式登录。1.提交信息中包含CTS STS等字样。3.过滤2022-02-15之后的提交。

不定时记录分享一些有用没用的东西 370

最新安卓版本对照表,API对照表(持续更新,更新到安卓17)

话不多说,直接上表,持续更新(更新到安卓16)。 列出了所有记录的可能会影响应用开发者的功能和行为变更。请使用此列表查找影响您的变更,然后点击相应的链接以阅读文档。下表列出了所有记录的可能会影响应用开发者的功能和行为变更。请使用此列表查找影响您的变更,然后点击相应的链接以阅读文档。Java 和 OpenJDK 是 Oracle 及/或其关联公司的商标或注册商标。

雨季余静的博客 9万+

【unity开发小技巧】Unity内部安装更新App三种方案(安卓APk)

欢迎加入Unity业内qq交流群:956187480 qq扫描二维码加群 方案1: 因为公司U3D项目在立项之初都没有能做好热更新的规化,导致现在要去做U3D的热更新非常难,并且项目已处于中后期,大部分的方案不管是用反射(DLL反射更新),还是用Lua,都需要把项目大部分代码结构推倒重来。于是就放弃热更新,选择还是直接用Apk来更新游戏。 在开始之前先是在网上查了很多资料,但是能够让我...

纯技术流日常开发商业开发记录总结等 1万+

【免费下载】 安卓手表ADB实用工具箱

安卓手表ADB实用工具箱 【下载地址】安卓手表ADB实用工具箱分享 安卓手表ADB实用工具箱是一款专为安卓手表用户设计的实用工具,旨在通过图形界面简化日常玩表操作。该工具箱基于ADB命令,提供了多种功能,包括设备连接、应用管理、文件管理、DPI调整、截图等,极大地方便了用户对手表的管理和操作 ...

gitblog_06564的博客 4319

app开发——安卓主要模块记录

在app的开发中,主要涉及的就是页面交互和功能,而安卓开发中,为了实现这几个功能,主要有四大组件和其它的一些功能模块。

qq_33453797的博客 1678

实用指南:使用Universal Android Debloater高效清理安卓设备预装软件

Universal Android Debloater(简称UAD)是一款创新的跨平台GUI工具,专为非root安卓设备设计,通过ADB连接帮助用户安全移除厂商预装软件,显著提升设备隐私安全、系统稳定性和电池续航能力。这款实用工具适合所有希望优化安卓设备性能的技术爱好者和普通用户,让您的手机或平板焕发新生。 ## 🔍 安卓设备为何需要深度清理? 现代安卓设备普遍面临"预装软件泛滥"的问题。手

gitblog_00231的博客 1157

记录开发一款安卓便签的过程

ps:初识安卓是在很久三年前高中第一次拥有了一部天语的ktouch2,然后开始了解root,刷机等等。直到今天进入大学选择了这个专业。因为之前给老师写过一个设备管理的app,发现自己有很多的不足。因此开博客记录自己重新学习安卓的过程。目前还是小白,之前写的应用都是本地端的。所以重新学习,包括编程规范以及包的分类等。记录自己所遇到的问题,希望有大神可以指正。 开发原因 希望慢慢的学习改善自己把东...

wenlxh的博客 5254
上一篇: 控件连续点击两次及多次
下一篇: 知识导向
Coke可乐
博客等级 码龄10年 0粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值