
Android开发笔记
liushaofang
求知若渴、虚心若愚
展开
-
华为设备不显示Logcat日志解决方案
华为设备不显示Logcat日志解决方案1、问题描述2、解决方案2.1、经过实际测试的手机方案(实测手机为Honor NEM-AL10)2.2、未经过实际测试的平板方案(目前没有华为平板,所以未进行测试)3、参考链接1、问题描述华为设备(比如Honor NEM-AL10)在应用调试时不显示用Log.d等接口打印等调试日志,系统日志正常显示。2、解决方案2.1、经过实际测试的手机方案(实测手机为Honor NEM-AL10)在电话拨号键盘中依次输入以下键:*#*#2846579#*#*显示“工程原创 2021-03-01 18:11:50 · 1073 阅读 · 0 评论 -
kotlin中const和val的区别
const:Compile time constants,只能修饰primitve类型和String类型, JVM的存储空间属于静态存储区val:Runtime Read-Only variable,可修饰prmitive类型、String类型以及方法调用的返回值或者构造方法的返回对象,JVM存储在栈中var:Mutable varialble...原创 2020-10-14 17:22:44 · 943 阅读 · 0 评论 -
Android resource linking failed AAPT: error: not well-formed invalid token
1、问题有些TeamMate使用Windows进行开发,有些TeamMate使用Mac或者Unix-like系统如Ubuntu进行开发,提交完代码出现如下错误。> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade > Android resource linking failed $(ProjectDir)\app\src\main\A原创 2020-06-30 23:19:01 · 2001 阅读 · 2 评论 -
基于Charles抓HTTPS包流程
1、问题描述如果客户端中添加了证书白名单,此时使用Https进行网络通信,使用charles就会出现Connect错误,导致无法抓包。错误图示如下。本文通过增加客户端中资源文件中内置的证书白名单的方式实现了对这种情况的抓包。注意:由于客户端的内置证书路径不一定能找到,并且找到之后也不一定是明文或者格式也不一定能正确分析,所以这个方案的通用性存在问题,请谨慎参考。本文会先分析Charles的抓包原理,然后从原理中尝试解决方案,最后对结果进行展示。2、Charles抓包原理2.1 HTTP通信抓包原创 2020-05-29 12:12:34 · 389 阅读 · 0 评论 -
CMake设置相关路径
设置Library的输出目录set(CMAKE_LIBRARY_OUTPUT_DIRECTORY PROJECTSOURCEDIR/jniLibs/{PROJECT_SOURCE_DIR}/jniLibs/PROJECTSOURCEDIR/jniLibs/{ANDROID_ABI})设置函数的默认导出可见性set(CMAKE_C_VISIBILITY_PRESET hidden)set(CMAKE_CXX_VISIBILITY_PRESET hidden)...原创 2020-05-19 19:35:05 · 2209 阅读 · 0 评论 -
android webview与google chromium版本对照
Android版本Chromium版本Android 4.4 (KitKat) 之前webkitAndroid 4.4 (KitKat)30.0.0.0Android 4.4.333.0.0.0Android 5.0 (Lollipop)M37(从本版开始使用APK发布WebView便于从AppStore进行升级)参考文献:https://de...原创 2020-03-25 16:48:17 · 3595 阅读 · 0 评论 -
AnimationDrawable自定义
import android.graphics.drawable.AnimationDrawableimport android.graphics.drawable.Drawableimport android.os.Handlerimport android.util.Logclass FlashAnimationDrawable : AnimationDrawable() { ...原创 2019-11-02 14:04:59 · 288 阅读 · 0 评论 -
Android环形进度条
实现环形进度条效果import android.animation.ValueAnimatorimport android.annotation.SuppressLintimport android.content.Contextimport android.graphics.*import android.support.annotation.ColorResimport andro...原创 2019-11-01 14:51:27 · 910 阅读 · 0 评论 -
解决Manifest merger failed with multiple errors方法
解决Manifest merger failed with multiple errors方法问题原因解决方法方案一:取消对androidx库的依赖方案二:迁移到androidx库总结问题原因升级到android studio 3.5之后Android Support库和AndroidX库存在不兼容的问题解决方法方案一:取消对androidx库的依赖第一步:找到对androidx依赖的库...原创 2019-09-28 00:15:43 · 3447 阅读 · 0 评论 -
kotlin学习笔记
1、打印输入参数详解fun main(args:Array):Unit{ //kotlin没有返回值就是返回Unit类型args.map({println(it)}) //最通用的写法args.map(){println(it)}//当lambda表达式是函数的最后一个参数情况下可以将lamba表达式移出小括号args.map{println(it)} //当函数只有一个lamda表...原创 2019-06-16 01:14:39 · 216 阅读 · 0 评论 -
Failed to find Build Tools revision问题分析
先给出从简单到复杂的解决方案:1、最简单的方式是直接依据提示下载对应版本的BuildTools2、如果能够通过在各个Module的build.gradle文件中增加buildToolsVersion 'xxxx’解决,在分别在project的各个module中增加相应的buildToolsVersion语句指定相关版本,如指定buildToolsVersion '27.,0.3’尝试进行解决,...原创 2019-04-13 23:39:58 · 10959 阅读 · 0 评论 -
android系统功能定制
https://blog.youkuaiyun.com/starhosea/article/details/78663285 导出sdkhttps://blog.youkuaiyun.com/lb5761311/article/details/79739569?utm_source=copy&tdsourcetag=s_pcqq_aiomsg from bottom to top的gpio控制...原创 2019-03-24 16:02:08 · 248 阅读 · 1 评论 -
ndk-build问题记录
LOCAL_SRC_FILES points to a missing file导致这个问题的原因很多,我遇到的是一个非常不容易发现的原因导致的。问题原因:Android.mk文件编码格式为UTF-8-BOM不是一般的UTF-8格式;问题现象:在windows的命令行中使用ndk-build时,会导致$(call my-dir)输出的是ndk路径中某个目录的路径,从而会导致标题中的错误,而在...原创 2019-01-11 20:39:05 · 893 阅读 · 0 评论 -
AS引用第三方so或者a库
直接将第三方库放到src/main/jniLibs目录中即可使用CMake生成库时存在依赖关系时需要在CMakeLists.txt文件中进行说明。原创 2018-09-27 16:50:51 · 1633 阅读 · 0 评论 -
Java线程池吃异常问题
Executors Java线程池框架吃异常问题解决重写ThreadPoolExecutor类并覆盖类中的afterExecute方法得到TaskExecutor类:@Overrideprotected void afterExecute(Runnable r, Throwable t) { super.afterExecute(r, t); if (t == null &a...原创 2018-09-25 15:40:46 · 1173 阅读 · 0 评论 -
华为酷派logcat不输出日志解决方案
华为酷派logcat不输出日志解决方案原创 2016-03-09 16:33:15 · 605 阅读 · 0 评论 -
Android绕过usb主机permision确认对话框framework修改方案
在Android平板上连接USB读卡器,每次启动应用程序时总是会出现USB权限确认对话框提示(如下图所示)。 即使点选“默认情况下用于该USB设备后”在设备重启后也会出现该权限提示,最后笔者通过修改Android Framework层的代码解决,解决方案的原理可以自行分析Android Framwork源码。 解决方案如下:修改 ($ANDROID_PROJ)\frameworks\ba原创 2017-01-11 21:08:21 · 3706 阅读 · 5 评论 -
一个图像高斯模糊的处理类
图像高斯模糊处理类原创 2015-12-17 16:49:24 · 692 阅读 · 0 评论 -
动态设置Layout的宽高值
项目中使用的布局文件test_layout.xml如下:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_原创 2015-12-19 17:52:32 · 6076 阅读 · 0 评论 -
常用正则表达式
常用正则表达式转载 2016-01-06 20:01:02 · 612 阅读 · 0 评论 -
Android LayoutInflater的inflate布局文件收获
http://blog.youkuaiyun.com/guolin_blog/article/details/16330267其实这里不管你将Button的layout_width和layout_height的值修改成多少,都不会有任何效果的,因为这两个值现在已经完全失去了作用。平时我们经常使用layout_width和layout_height来设置View的大小,并且一直都能正常工作,就好像这两个属性确实是原创 2016-02-02 14:47:11 · 369 阅读 · 0 评论 -
Android弹出Dialog使背景变暗的实现方式
背景变暗 WindowManager.LayoutParams lp = getWindow().getAttributes(); lp.alpha = 0.6f; getWindow().setAttributes(lp); getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); 背景恢复 Window原创 2016-02-23 14:15:57 · 10008 阅读 · 2 评论 -
No resource found that matches the given name Theme.AppCompat.Light.*
我遇到的是Theme.AppCompat.Light.DarkActionBar,但是总结起来就是缺少依赖库,解决方案如下。对于Android Studio,使用如下步骤解决: 1. Right click on your app 2. Open Module Settings 3. Select Dependencies tab 4. Click on green + symbol whi原创 2016-02-25 16:57:14 · 531 阅读 · 0 评论 -
重要技术博客记录
http://colobu.com/2014/08/15/android-components-collection/#UI组件原创 2016-03-26 15:36:31 · 290 阅读 · 0 评论 -
bypass android usb host permission confirmation dialog
http://stackoverflow.com/questions/13726583/bypass-android-usb-host-permission-confirmation-dialog http://blog.youkuaiyun.com/mlj1668956679/article/details/14122787原创 2016-05-24 12:42:54 · 1296 阅读 · 0 评论 -
apk文件的反编译及加固分析
apk文件的反编译及加固分析原创 2015-12-22 19:38:29 · 3614 阅读 · 0 评论 -
Intellij IDEA, Android Studio, Eclipse,Gradle, Maven, Ants关系概述
越来越多的Android项目开始抛弃Eclipse+ADT的开发环境采用Android Studio+Gradle进行开发,在Github上clone源码偶尔又会发现需要采用Maven进行构建,这些工具集之间到底存在什么关系呢?0. 为什么要引入这些IDE和Build Tools借用网上的一句话来回答引入这些IDE和Build Tools的原因: ”一般而言,一个比较正规的项目都不会基于IDE 进原创 2016-05-05 10:50:09 · 1093 阅读 · 0 评论 -
写了一个方便抓Android系统日志的BAT脚本
为了方便测试提供有效的日志,自己写了一个脚本,不需要安装cygwin之类的工具就能用来通过adb抓系统日志(但需要安装adb哦),支持抓全部系统日志(目前采用的logcat默认的最大大小16K),及抓指定应用的系统日志,应用通过应用的包名作为脚本的参数进行传递。 如果要抓系统日志,直接双击脚本就行。 如果要抓自己的应用相关的日志,提供自己应用的包名如com.nci.zhht.xy作为参数即可。原创 2016-04-23 19:37:44 · 4580 阅读 · 0 评论 -
手机root后system file提示Read-only的解决办法
adb -s 设备名 shell 进入手机su切换为root账户mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system 重新挂载system文件系统Done!!!对于Android 6.0以上的系统,需要调用disable-verity,因此整个命令序列为: adb root adb disable-verity ...原创 2016-10-28 12:06:14 · 9363 阅读 · 0 评论 -
android opengl es入门示例
自己依据https://developer.android.com/training/graphics/opengl/index.html写的一个直接使用opengl es操作示例。其中用到的shader使用的developer guide中的triangle shader,有时间再详细解释代码含义。下载链接为:http://download.youkuaiyun.com/detail/liushaofang/原创 2016-11-25 19:25:19 · 374 阅读 · 0 评论 -
Android获取URI的绝对路径的类
获取URI的绝对路径的类(在小米4C,红米Note、三星和Nexus 6等机型上测试通过) 正确类代码如下:import android.annotation.SuppressLint;import android.content.ContentUris;import android.content.Context;import android.database.Cursor;import原创 2015-11-28 17:00:17 · 1002 阅读 · 0 评论