概念
Build Variants
AAB(Android App Bundle):Android App Bundle是一种发布格式,它允许Google Play动态地为用户的设备生成和提供优化的APK。AAB包含了应用的所有代码和资源,但Google Play会根据用户的设备配置(如屏幕尺寸、分辨率和语言)来生成和分发最合适的APK。因此,“devAab”可能指的是为开发或测试目的而创建的Android App Bundle版本
APK(Android Package):APK是Android应用的标准发布格式,包含了应用的代码、资源和必要的元数据。在Android开发中,通常会为不同的环境(如debug和release)创建不同的APK版本。“devApk”可能指的是为开发或测试目的而创建的APK版本
devAab
文件格式:AAB(Android App Bundle)是一种新的发布格式
使用场景:AAB文件主要用于在Google Play发布应用。它包含了应用的所有资源和代码,但不会直接被用户安装,而是由Google Play在用户下载时根据设备的配置动态生成APK
优点:使用AAB可以减少应用的下载和安装包大小,提高安装效率
devApk
文件格式:APK(Android Package)是传统的应用安装包格式
使用场景:APK文件可以直接安装到设备上,适合开发阶段的测试和分发
优点:APK文件可以方便地分享和安装,适合于本地测试和非Play Store的分发
总结来说,devAab更适合用于发布和优化用户体验,而devApk则更适合于开发和测试阶段
ABI
ABI,全称为Application Binary Interface,即应用程序二进制接口。它定义了应用程序与操作系统之间进行交互的方式和规范,确保不同的软件组件能够正确地协同工作。ABI包括了函数调用约定、寄存器的使用、参数传递方式、系统调用接口等内容,为软件开发者提供了一个稳定和一致的编程接口。
不同的硬件平台和操作系统版本可能支持不同的ABI类型。例如,ARM架构的设备可能支持armeabi-v7a、arm64-v8a等ABI类型,而x86架构的设备则可能支持x86、x86_64等ABI类型
安卓各版本和API级别对应关系
Android各版本及API对应关系,持续更新! - 走看看
定位
Android手机app三种方法定位地址(自带API,外接SDK,外网IP)
安卓智能手机gps定位算法在安卓系统下还是在芯片里? - 知乎
安卓和GMS
安卓和GMS 是什么关系?安卓和MIUI、Flyme、EMUI、ColorOS 等系统有什么关联? - 知乎
UI
绘制流程
Android查看UI布局
layout、layout-land、layout-port
一般把UI 布局文件放在layout文件夹下,如果要支持橫屏,就会取同名的layout放在layout-land文件夹下
-res/layout 默认
-res/layout-land 横屏
-res/layout-port 竖屏
layout-finger, layout-land-finger, finger使用在对手指触摸支持很好的屏幕( finger-friendly touchscree)
Android视图高度和阴影
https://juejin.cn/post/6844903465374744589
控件隐藏
Rect和RectF
Rect和RectF函数 - LoaderMan - 博客园
Path
onDraw()和dispatchDraw()
Android 更新视图函数ondraw() 和dispatchdraw()的区别- 成步堂龙一
视图阴影
Paint的setShadowLayer参数说明及使用 原创
Android Paint ShadowLayer 设置阴影效果
TextView自定义字体
Android 设置TextView的字体- 枫未晚- 简书
工具
AutoValue
Android 使用AutoValue和Gson进行JSON序列化/反序列化
view.post()
LiveData
CSDN—Lifecycle、LiveData、ViewModel讲解之LiveData
简书—Jetpack(一)Lifecycle和LiveData
知乎—Android开发:官方推荐 Flow 取代 LiveData,真的有必要吗?
AsyncTask
博客园—AsyncTask doinbackground onProgressUpdate onCancelled onPostExecute的基本使用
动态申请权限
Android studio (java) - Access storage permissions denied? - Stack Overflow
模拟器访问外部存储SDCard受限
Android studio:关于访问模拟器本地文件遇到的几个问题
1.手动打开app权限
Android Studio自带模拟器读SDcard失败的解决方法
2.静态申请权限
Android studio File Explorer sdcard文件怎么访问
3.动态申请权限
Android studio (java) - Access storage permissions denied? - Stack Overflow
4.其他
https://www.likecs.com/show-923885.html#sc=273
android模拟器查看sd卡,android模拟器使用SD卡(1) - CSDN
Timber
OOM
java.lang.OutOfMemoryError: pthread_create (1040KB stack) failed: Out of memory - 简书
java.lang.OutOfMemoryError: pthread_create (1040KB stack) failed: Try again - 空白的泡的博客
文件IO路径
貌似Android能读取的文件路径位于模拟器中
读取当前工作空间的路径或者本地路径都很困难
框架
Jetpack
MVC框架发展
Retrofit2
OkHttp
OkHttp 源码分析系列(一)- Okhttp同步请求、异步请求过程- 琼珶和予- 简书
其他
混淆
Android开发实战——代码混淆解决方案,适配AndroidX - 金大人的梦- 博客园
Build.VERSION
if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.....) - 博客园

AAB(Android App Bundle):Android App Bundle是一种发布格式,它允许Google Play动态地为用户的设备生成和提供优化的APK。AAB包含了应用的所有代码和资源,但Google Play会根据用户的设备配置(如屏幕尺寸、分辨率和语言)来生成和分发最合适的APK。因此,“devAab”可能指的是为开发或测试目的而创建的Android App Bundle版本。
APK(Android Package):APK是Android应用的标准发布格式,包含了应用的代码、资源和必要的元数据。在Android开发中,通常会为不同的环境(如debug和release)创建不同的APK版本。“devApk”可能指的是为开发或测试目的而创建的APK版本。