android
kuangxuefeng丶
程序员
展开
-
调用了startForeground还是报错Context.startForegroundService() did not then call Service.startForeground()
我们调用startForeground的时机一般是在service.onCreate方法中,从上面流程可以看出,从延时消息发送到正在创建服务,是由ActivityThread.H这个handler来处理的。出现问题的应用是开机自启的应用,测试人员反馈monkey测试教材时间后,服务A产生大量的crash:Context.startForegroundService() did not then call Service.startForeground()。结果确实报错,由此可以证明猜想正确。原创 2023-09-13 14:17:42 · 853 阅读 · 0 评论 -
Charles导致的gradle报错:unable to find valid certification path to requested target
Charles导致的gradle报错: Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target解决方法:1.关闭Charles2.重启Android studio原创 2022-05-12 18:13:27 · 527 阅读 · 0 评论 -
Charles导致gradle报错Plugin [id: ‘com.android.application‘, version: ‘7.1.3‘, apply: false] was not foun
项目升级gradle7.2之后报错Build file '/Users/xuefeng.kuang/Documents/GitHub/AndroidGradle7/build.gradle' line: 3Plugin [id: 'com.android.application', version: '7.1.3', apply: false] was not found in any of the following sources:* Try:Run with --info or --deb原创 2022-05-07 17:36:51 · 6149 阅读 · 4 评论 -
react-native版本为0.60版本及以上版本时Android工程自动link无效
react-native版本为0.60版本及以上版本时Android工程自动link无效,如以下的依赖都没显示出来:这是因为我们的项目中用到Android studio打开Android工程的时候,rn的代码还没有执行npm install(或者配置的依赖路径不对),node_modules下没有需要link的依赖,这时候在.idea/modules.xml文件中没有相对应的依赖路径:解决方法:删除.idea文件夹,然后清除项目缓存并重启!...原创 2022-02-14 19:25:18 · 2242 阅读 · 0 评论 -
Play App Signing的坑
千万别直接点继续原创 2022-01-18 19:40:46 · 308 阅读 · 0 评论 -
android webview开启优化的组件
介绍WebView开启优化软件架构主要是实现了两个方面的优化WebView预创建和复用。渲染优化(JS、CSS、图片)。安装教程在根目录下的build.gradle中添加repositories { maven {url 'https://gitee.com/kuangxuefeng/MeavenPrivate/raw/dev20200727/WebViewCache/'}}allprojects { repositories { maven {ur原创 2022-01-16 16:31:39 · 2069 阅读 · 0 评论 -
Android studio插件,检查依赖的so是否支持64位(或者其他的abi)
xuefeng.kuang@HuifudeMacBook-Pro ~ % diff -ruaq /Users/xuefeng.kuang/Desktop/solib/apk/androidtestdemo_V1.0_202111191035_debug/lib/arm64-v8a /Users/xuefeng.kuang/Desktop/solib/apk/androidtestdemo_V1.0_202111191035_debug/lib/armeabi-v7a Only in /Users/xue原创 2022-01-07 20:43:39 · 2962 阅读 · 2 评论 -
gradle读取绝对路径的文件中的配置参数
apply plugin: 'com.android.application'//def getVersionCode() {// def versionFile = file('E:\\lkl\\signingConfigs.properties')// if (versionFile.canRead()) {// def Properties versio...原创 2021-09-06 18:02:44 · 1081 阅读 · 0 评论 -
zxing在oppo R9s手机上识别二维码报错
03-19 13:45:05.913 10017-10092/com.google.zxing.client.android.cut E/AndroidRuntime: FATAL EXCEPTION: Thread-7395 Process: com.google.zxing.client.android.cut, PID: 10017 java.lang.NoSuchMethodError: No interface method sort(Ljava/util/Comparat...原创 2021-09-06 16:02:44 · 1501 阅读 · 0 评论 -
alipaysdk在多个moudle的引用冲突解决
Execution failed for task ':app:checkSitDebugDuplicateClasses'.> 1 exception was raised by workers: java.lang.RuntimeException: java.lang.RuntimeException: Duplicate class com.alipay.a.a.a found in modules jetified-alipaysdk-15.8.03.210428205839-run.原创 2021-09-02 14:25:43 · 2048 阅读 · 12 评论 -
AlarmManager针对低电耗模式和应用待机模式进行优化
从 Android 6.0(API 级别 23)开始,Android 引入了两项省电功能,通过管理应用在设备未连接至电源时的行为方式,帮助用户延长电池寿命。当用户长时间未使用设备时,低电耗模式会延迟应用的后台 CPU 和网络活动,从而降低耗电量。应用待机模式会延迟用户近期未与之交互的应用的后台网络活动。在低电耗模式下,标准 AlarmManager 闹钟(包括 setExact() 和 setWindow())推迟到下一个维护期。如果您需要设置在设备处于低电耗模式时触发的闹钟,请使用 setAndAl原创 2021-09-02 14:22:29 · 667 阅读 · 0 评论 -
kotlin插件禁用导致的Android studio无法打开-mac
Missing essential plugin: org.jetbrains.androidPlease reinstall Android Studio from scratch.解决:打开Android studio的路径下的disabled_plugins.txt文件/Users/xuefeng.kuang/Library/Application Support/Google/AndroidStudio4.2删除org.jetbrains.kotlin重...原创 2021-07-14 14:23:02 · 1418 阅读 · 2 评论 -
Could not resolve com.youzanyun.open.mobile:x5sdk:6.4.25.
报错如下:FAILURE: Build failed with an exception.* What went wrong:Could not determine the dependencies of task ':app:compileAgentDebugJavaWithJavac'.> Could not resolve all task dependencies for configuration ':app:agentDebugCompileClasspath'. &.原创 2021-06-17 13:54:52 · 927 阅读 · 0 评论 -
gradle集成sonarqube
// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript { repositories { google() maven{ url'http://maven.aliyun.com/nexus...原创 2020-06-08 22:40:39 · 1005 阅读 · 0 评论 -
Could not find com.android.support:appcompat-v7:25.0.0
10:36 Gradle sync failed: Could not find com.android.support:appcompat-v7:25.0.0. Required by: FuNongTong:app:unspecified (18 s 207 ms)增加maven { url "https://maven.google.com" },如下:buildscript { repositories { jcenter() ...原创 2020-05-25 20:14:38 · 3407 阅读 · 0 评论 -
Android自定义view-电子签名画板
电子签名作为用户的电子凭证,在很多业务中都有用到!一.自定义电子签名画板package com.kxf.androidtestdemo.view;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphi...原创 2020-04-16 20:04:53 · 862 阅读 · 2 评论 -
Android studio修改标题菜单栏增加功能图标(navigation bar toolbar)
操作如下增加分割符:增加action,原创 2020-04-03 14:22:24 · 1856 阅读 · 0 评论 -
Android sdk-29版本上使用 jni mkdir创建文件夹失败返回-1
Android sdk-29版本上使用 jni mkdir创建文件夹失败返回-1+ compileSdkVersion 29 buildToolsVersion "29.0.2" defaultConfig { applicationId "com.kxf.opencvandroiddemo" minSdkVersion 19 ...原创 2020-04-02 20:35:48 · 1033 阅读 · 0 评论 -
Android studio opencv报错undefined reference to 'cv::imwrite(cv::String const&, c
最近研究opencv识别银行卡号,集成opencv的时候ndk编译报错如下:E:\codingPath\BankCardOCR\app/src\main\cpp\CardOcr.cpp:229: error: undefined reference to 'cv::imwrite(cv::String const&, cv::_InputArray const&, std::...原创 2020-04-02 11:16:07 · 3453 阅读 · 8 评论 -
White space is required before the attribute type in the declaration of attribute "t" for element "b
White space is required before the attribute type in the declaration of attribute "t" for element "bean".PCDATA是将会被解析的文本,而CDATA是不会被解析的文本。所以(1)DTD中元素的类型常定义为PCDATA,因为元素内可能还包含子元素等内容,需要xml解析器对>,原创 2016-12-01 12:01:33 · 4168 阅读 · 0 评论 -
反射调用setMobileDataEnabled方法设置移动数据网络失败
从报错信息是提示找不到方法,于是我用反射的方法查看这个方法传入参数的形式,一看吓一跳,这个方法不只一个参数,需要两个参数setMobileDataEnabled(String packageName, boolean enable)//packageName为当前包名可能是Android的版本不同导致的setMobileDataEnabled方法改变了所以解决方法如下:两行原创 2016-07-28 13:23:24 · 2636 阅读 · 3 评论 -
使用16进制编码的RSA公钥进行RSA加密
最近遇到一个客户,RSA公钥发过来是16进制的(我也不大明白为什么要这样做,反正当时后台告诉我转了16进制,要我自己处理),不能直接使用:如下A32ADB16D88E28BB5FCE9600765BF61D8831C58164C94879FF34C16B6532AAE948E4B6BA268DEEC84CFF08CE11D4458E5165EA2098A9CB8A2F885D72E7CCE91原创 2016-05-11 12:27:35 · 10864 阅读 · 2 评论 -
Android httpclient如何让客户端提示服务器close连接
最近遇到一个问题,就是服务器上的连接数量很多,弄得服务器都崩溃了,但是查看客户端的代码,通讯完成后都关闭了输入输出流,所以只能在服务器端找原因了,找了半天,服务器没问题的,没有办法,只能去看httpClient的通讯模型了!通过查看模型,发现了一个问题,就是主动关闭连接的一方会立即断开连接,而被动断开连接的一方会过一会断开(类似于有个等待的时间),所以原因明确了!服务器端肯定是要主原创 2017-07-14 10:55:29 · 1261 阅读 · 0 评论 -
3des加密数据长度报错
ata not multiple of block length原创 2017-07-04 18:36:47 · 2912 阅读 · 0 评论 -
如何让Android TextView(包括子类)的字体大小随着字数的增加而变化,以显示全部内容
在使用TextView的时候,很多情况下内容的长度是要变化的,字数多了,可能不能显示全部的内容,那如何让TextView在字数超了的时候,能自动缩小字体,或者直接匹配最优的字体大小,使内容全屏并全部显示代码如下:protected void autoMatchFont(final TextView view){ view.addOnLayoutChangeListener(原创 2017-09-19 09:56:56 · 3176 阅读 · 2 评论 -
Android studio安装插件 ADB IDEA报错:Plugin 'ADB Idea' is incompatible with this installation
首先进入as的插件安装界面没安装会显示如下进入里面这样安装可能安装不了,下载很慢,也可能下载不下来!这时候需要离线安装了离线安装首先要下载离线安装包,下载地址自己百度!注意要adb idea的版本要和as的版本兼容,否则安装的时候报异常:Plugin 'ADB Idea' is incompatible with this installation如何查看as的版本这个as的版本是162对照表:所...原创 2018-05-08 18:46:36 · 2548 阅读 · 0 评论 -
Android Studio引用远程依赖包时下载不了jar包的解决方法
有一个工程使用了远程的jar包,报错如下报错信息:Error:A problem occurred configuring project ':app'.> Could not resolve all dependencies for configuration ':app:_ProcDebugApkCopy'. > Could not resolve com.android.su...原创 2018-06-27 12:52:13 · 12877 阅读 · 0 评论 -
HttpURLConnection执行getInputStream前应该先判断ResponseCode(响应码,通过getResponseCode获取)
问题背景: 很多人在客户端做http请求的时候,往往会执行完getOutputStream之后就立即执行getInputStream去获取服务端返回的数据,这种方式大多数情况下也能正确的完成http交互,但是当网络出现故障或者服务端自定义了大于400的响应码时,就会出现getInputStream抛出FileNotFoundException的异常,文件找不到?理论依据:...原创 2018-08-15 10:43:07 · 20988 阅读 · 0 评论 -
GitHub Desktop使用遇到的坑
一.提交代码失败Commit fliled - exit code 128 received, with output **** Please tell me who youare.Error❾Commit fliled - exit code 128 received, with output **** Please tell me who youare.Rungit conf...原创 2019-07-31 21:49:58 · 1932 阅读 · 0 评论 -
Android handle内存泄漏
一,什么是内存泄漏首先我们要有堆内存的概念,堆内存是用来存放对象的,堆内存和栈内存的概念可以参考这篇文章https://www.cnblogs.com/liyonghua/p/8805017.htmljvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身,几乎所有的对象实例和数组都在堆中分配。当对象不被引用时,会被gc回收,释放占用的堆内存。如果不再用到...原创 2019-09-01 22:00:23 · 670 阅读 · 0 评论 -
Android设备如何保证数据同步写入磁盘
在一些特定的工作场景中,我们把数据及时写出磁盘,而不是暂时保存在系统的文件缓存区,防止掉电导致数据丢失可能一看到这个场景,很多人会想到数据库的事务,查看Android数据库sqlite的源码可以看到,数据库事务只能保证n个操作,要么都执行,要么都不执行。数据库事务在所有操作完成后,会提醒文件系统与磁盘同步,但是不会等到所有系统缓冲区与磁盘同步完成才返回!可以查看sqlite官网对原子提交的...原创 2019-09-01 22:44:42 · 4439 阅读 · 0 评论 -
ubuntu14下整合eclipse和javah生成jni头文件遇到无法访问android.app.Activity 找不到android.app.Activity的类文件问题的解决方案
根据网上的教程来整合,发现如下问题:无法访问android.app.Activity 找不到android.app.Activity的类文件网上看到大牛说是这个原因:无法访问android.app.Activity是说明没有引入android.jar包可以看看java -h里面的具体说明。其中有一个-bootclasspath参数 让他指向android.jar包原创 2016-01-14 15:38:06 · 542 阅读 · 0 评论