Android
文章平均质量分 66
小小写
好记性不如烂笔头,一点一点地积累自己
展开
-
AndroidStudio kotlin插件意外disable后的恢复办法。
Kotlin插件禁用后AS无法启动的恢复办法。原创 2022-06-23 14:39:19 · 1615 阅读 · 1 评论 -
gradle导入历史项目出错gradle-wrapper.properties not found
java.lang.ExceptionInInitializerError (no error message)compileSdkVersion is not specified.gradle-wrapper.properties not found原创 2021-06-10 17:40:19 · 20585 阅读 · 2 评论 -
单独刷system.img踩坑记录
单独刷system.img踩坑记录集成管理出的daily版本使用的签名和本地编译的签名不一致。基于daily fastboot单刷system.img, 发现报如下权限问题。01-01 01:31:16.993 3444 3444 D AndroidRuntime: Shutting down VM01-01 01:31:16.994 3444 3444 E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: main01-原创 2021-05-19 20:38:59 · 2532 阅读 · 3 评论 -
android:navigationBarColor失效
android:navigationBarColor失效。上结论,是项目引入了setupdesign设计,GlifLayout相关联的自定义布局overrride了NavigationBar主题,需要用setupdesign自定义的属性来设置颜色。<item name="android:navigationBarColor">@color/black</item><item name="sucSystemNavBarBackgroundColor">@colo原创 2021-05-14 10:00:39 · 3903 阅读 · 0 评论 -
正确引入setupdesign和setupcompat的方式
正确引入setupdesign和setupcompat的方式引入方式如下:├── app│ ├── app.iml│ ├── assests│ ├── build│ ├── build.gradle // 配置1│ ├── libs│ ├── proguard-rules.pro│ └── src├── build.gradle├── TESTX.iml├── gradle│ └── wrapper├── gradle.propertie...原创 2021-05-13 18:08:11 · 1116 阅读 · 0 评论 -
Caused by: java.lang.NumberFormatException: For input string: “?2130969371“
Caused by: java.lang.NumberFormatException: For input string: "?2130969371"题记报错。上结论:"?2130969371" ,即:”?attr/sudScrollIndicator“, 是因为sudScrollIndicator自定义属性主题未给定值引起。在AS工程引入setupdesign和setupcompat时,简单写了个主AppCompatActivity,引用了一个被GlifLayout包裹的布局文件。..原创 2021-05-13 16:56:46 · 6594 阅读 · 1 评论 -
BiometricPrompt.Builder.setDeviceCredentialAllowed(boolean)方法过时了,怎么破。
BiometricPrompt.Builder.setDeviceCredentialAllowed(boolean)方法过时了,怎么破。原创 2020-07-07 13:20:18 · 1710 阅读 · 1 评论 -
lottie踩坑记录
lottie踩坑1.Unable to parse composition原因,json资源缺失06-26 12:08:20.526 26711 26711 D AndroidRuntime: Shutting down VM06-26 12:08:20.527 26711 26711 E AndroidRuntime: FATAL EXCEPTION: main06-26 12:08:20.527 26711 26711 E AndroidRuntime: Process: com.an原创 2020-06-28 11:56:39 · 6052 阅读 · 1 评论 -
Android R config_biometric_sensors默认通用定制common可好?
前面已经写过一个帖子-《Android R Setupwizard无指纹、人脸录入》发现,这个无异于开了个定制值,加入某项目中共分支不同varint有FP设备,而另外的又没有。这时候合理做法应该是针对不同varint进行overlay。如此,一旦未定制,将在三方canAuthenticate()得到反馈。但是如此,定制未免太过于麻烦,一旦varient多样起来。如果默认定制成common,有指纹呢?会怎样?以Settings WIFI ap share启动一次生物识别弹窗为例。..原创 2020-06-23 21:33:23 · 1444 阅读 · 0 评论 -
Android Settings搜索Search方案分析
Android开发会遇到一些自写界面需要允许被搜索,或者三方应用挂靠在Settings,用户也希望能被搜索。在知道怎么添加之前,得先了解下整个框架,才能更好地加入我们自己的代码。这里稍微整理了下整个search database数据如何索引加载流程。android.content.action.SEARCH_INDEXABLES_PROVIDERSEARCH_INDEX_DATA_PROVIDER原创 2020-06-22 16:05:07 · 3655 阅读 · 1 评论 -
静态代码块里,如何拿到PackageManager?
近期遇到一个场景,静态代码块里,无法拿到context,context.getPackageManager只在运行时适用,而静态代码块里无法做到,那么如何拿到PackageManager?例如:static { if(判断条件) { //执行静态方法; } }从NfcAdapater里边找到了启发。package android.nfc;/** * Represents the ..原创 2020-06-20 17:49:00 · 760 阅读 · 1 评论 -
Android R Setupwizard无指纹、人脸录入
Android R Setupwizard无指纹、人脸录入,但是进入系统后,发现指纹功能可用。Android生物识别报BIOMETRIC_ERROR_HW_NOT_PRESENT.BiometricService: canAuthenticate: User=0, Caller=0, Authenticators=255 .AuthService: canAuthenticate, userId: 0, callingUserId: 0, authenticators: 255, result: 1原创 2020-06-13 10:18:47 · 2866 阅读 · 2 评论 -
Android R Settings的各Fragments
Android R Settings的各Fragments。自写应用Fragment继承自PreferenceFragmentCompat时,当我们发现似乎可以这样用: @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { getPreferenceManager().setSharedPreferencesName("mysetti.原创 2020-06-11 22:19:05 · 943 阅读 · 2 评论 -
Android Q+ 新特性 Settings Panel
Android Q引入三方上下文可快捷启动简单设置弹窗API。ACTION_INTERNET_CONNECTIVITYACTION_NFCACTION_WIFIACTION_VOLUME原创 2020-06-10 12:48:46 · 2100 阅读 · 0 评论 -
com.airbnb.lottie.animation 播放json动画失败
com.airbnb.lottie.animation 播放json动画失败。AndroidRuntime: java.lang.IllegalStateException: Missing values for keyframe.原创 2020-06-10 10:01:03 · 2052 阅读 · 2 评论 -
Android指纹解锁边界性问题
Android指纹开发过程中遇到一些边界的问题记录.问题1[1] 指纹息屏解锁,唤醒屏幕,Power键按下,无黑屏(息屏)log如下:01-02 08:11:51.792 1155 1379 D WindowManager: PhoneWindowManager interceptPowerKeyDown event=KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_POWER, scanCode=116, metaState=0, flag原创 2020-05-23 12:21:35 · 2229 阅读 · 0 评论 -
AlertDialog旋转不消失,并大小不一异常
AlertDialog旋转不消失时,来回旋转屏幕,dialog横向宽度出现大小不一异常原创 2020-05-12 11:23:24 · 496 阅读 · 1 评论 -
alertdialog旋转屏幕消失造成leak window
alertdialog旋转屏幕消失造成leak window原创 2020-05-12 10:35:22 · 2825 阅读 · 1 评论 -
Android R system_ext动态扩展分区
Android Q lunch device刷R system.img后,发现其多了个system_ext分区。列表如下:TPro:/ # ls -ltotal 65dr-xr-xr-x 37 root root 0 2020-04-26 10:45 acctdrwxr-xr-x 48 root root 960 2020-04-26 10...原创 2020-04-28 12:25:29 · 10360 阅读 · 0 评论 -
指纹解锁锁屏不消失
指纹解锁锁屏不消失问题原创 2020-04-26 21:10:13 · 782 阅读 · 0 评论 -
No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android原创 2020-04-20 21:27:54 · 470 阅读 · 0 评论 -
BiometricPrompt之七 - Android R AuthBiometricView BiometricDialogView无法消失解决方案
Android R AuthBiometricView给出 BiometricDialogView无法消失解决方案.原创 2020-04-20 11:21:47 · 881 阅读 · 2 评论 -
androidmk工具转换Android.mk
Androidmk将Android.mk转换成Android.bp原创 2020-04-16 10:30:25 · 1946 阅读 · 0 评论 -
BiometricPrompt之六 - BiometricDialogView锁屏显示
BiometricDialogView锁屏弹窗无法消失。showBiometricDialoghideBiometricDialog原创 2020-04-09 16:52:09 · 1957 阅读 · 0 评论 -
BiometricPrompt之五 - 高级?用法
手机不支持BiometricPrompt怎么办?手机硬件不支持人脸识别和指纹识别怎么使用BiometricPrompt?BiometricFingerprintConstantsFINGERPRINT_ERROR_HW_NOT_PRESENTFINGERPRINT_ERROR_NO_FINGERPRINTSBiometricPrompt高级用法。BiometricPrompt.AuthenticationCallback原创 2020-04-07 11:22:52 · 1167 阅读 · 0 评论 -
Google pay默认支付(payment)应用之二 -TpHceService默认被disable原因
PackageManager setComponentEnabledSetting.Google Pay默认无法设置默认支付应用.Google Pay服务被disable.TpHceService默认被disable原因.原创 2020-04-07 10:24:33 · 1750 阅读 · 0 评论 -
GooglePay默认支付(payment)应用 之一
make Google pay as the default payment app.Google pay无法设置为默认NFC payment应用。Google Pay消失了。原创 2020-04-02 17:56:50 · 3740 阅读 · 2 评论 -
Android R preview编译失败
Android R preview预览版编译失败。error: external/seccomp-tests/Android.bp:20:13: unrecognized property "arch.mips"error: external/seccomp-tests/Android.bp:23:15: unrecognized property "arch.mips64"error: external/linux-kselftest/Android.bp:53:13: unrecognized p原创 2020-03-31 10:09:16 · 4268 阅读 · 8 评论 -
BiometricPrompt之四 - BiometricDialogView无法消失
Android Q 之后,为三方应用提供BiometricPrompt 生物识别验证API。但是发现,以指纹为例当BiometricDialogView弹出后,按下Menu/HOME键,指纹验证申请已经取消,但是弹框BiometricDialogView(FingerprintDialogView)无法消失。见图:问题在于,指纹是因Menu/HOME键引起Activi...原创 2020-03-28 17:18:18 · 834 阅读 · 1 评论 -
BiometricPrompt之三 - Fingerprint, Iris, Face UI优先级
BiometricPrompt并未提供API让3rd app决策由那种生物方式来验证。当Fingerprint, face, iris都支持时,谁的优先级最高?UI如何显示?功能可否同时生效可用?原创 2020-03-28 16:51:05 · 2024 阅读 · 1 评论 -
BiometricPrompt 之二 - 启动流程
BiometricPrompt涉及跨进程间调用实现。启动APP, BiometricService服务,Settings app(可能有参与), SystemUI锁屏应用。看一次启动的log如下:01-01 10:16:06.546 9457 9457 D WifiDppUtils: showLockScreen: 01-01 10:16:06.559 1043 1043 ...原创 2020-03-28 15:36:03 · 1495 阅读 · 0 评论 -
BiometricPrompt之一 - 简单用法
自从Android Q API 29发布以来,AOSP就已經在推广建议使用统一的生物识别API,BiometricPrompt。其号称兼容Iris, fingerprint, facekey.那么这个怎么用呢?举个栗子: public static void showBiometricPromptDialog(Context context) { final...原创 2020-03-28 15:17:05 · 5549 阅读 · 4 评论 -
[Android][HIDL]项目编译中间文件IBiometricsFingerprint.java输出目录
今天调试指纹时,发现有个报错如下:里边提到了IBiometricsFingerprint.java这个类,虽然我们知道IBiometricsFingerprint.java其实对应调用的是Fingerprint HAL service: BiometricsFingerprint.cpp中对应注册的服务。但还是想知道IBiometricsFingerprint.java:381行到底对应的...原创 2019-10-16 18:40:58 · 1227 阅读 · 2 评论 -
Activity的onNewIntent方法执行时间
Activity的onNewIntent方法究竟再什么时候 执行。据Android API文档,有如下描述:据API描述,大概意思是当Activity被设以singleTop启动,当需要再次响应此Activity启动需求时,会复用栈顶的已有Activity,还会调用onNewIntent方法。并且,再接受新发送来的intent(onNewIntent方法)之前,一定会先执行原创 2017-07-05 19:58:29 · 10079 阅读 · 2 评论 -
锁屏界面无法无法显示Toast
锁屏界面无法无法显示Toast原创 2017-06-13 20:07:33 · 3512 阅读 · 1 评论 -
Android JAVA源码之打印调用栈
Android JAVA源码之打印调用栈,Throwable().getStackTrace原创 2017-07-13 09:39:34 · 837 阅读 · 1 评论 -
Android串口log的获取
常遇到无法开机的状况,这时由于Android还未起来,adb等均无法使用,此时有抓串口的必要。1.命令安装sudo apt-get updatesudo apt-get install minicom2.安装完毕后,插入串口线,进入/dev/目录查看设备图中红圈即插入串口后,新增的serial目录和ttyUSB0字符设备其中serial目录中内容如下,均是指向tt原创 2017-06-09 19:21:54 · 16100 阅读 · 1 评论 -
源码分析之Android通过Dialer实现暗码启动
目前接触比较多的就是通过dialer应用来启动/触发暗码。也有通过Calculator来实现的。本文以Dialer为例,1.经过调试定位,发现拨号盘接对应的Activity为DialtactsActivity。2.DialtactsActivity中有个showDialpadFragment方法,用来加载显示拨号盘,因为有可能此时拨号盘正处于收缩/隐藏状态。 /**原创 2017-06-07 14:25:45 · 3349 阅读 · 8 评论 -
Activity转屏重建之 Activity.onConfigurationChanged
偶尔也会遇到由于转屏引起的一些问题。有些时候,并不希望由于转屏使得Activity取重建。再如键盘消失后的重建。下面以一个demo为例子,小小总结一下用法。如果想在转屏后,屏幕上立马打印出当前处于什么横竖屏状态1.都知道有个属性android:configChanges可以用来定义什么情况下可以使得Activity不会restart。android:config原创 2017-06-07 11:08:21 · 926 阅读 · 1 评论 -
Linux adb无法连接识别手机解决方案
在使用实体机器进行开发调试时,会出现adb无法识别手机的情况,解决方案如下:在目录/etc/udev/rules.d/70-android.rules中添加如下内容:SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",MODE="0666"或者经过lsusb查看后,添加对应的直接数据至文件中,可参考下方的方案,但是上方的方案比较简单。原创 2017-05-18 22:35:43 · 4359 阅读 · 0 评论