原生android开发相关笔记
常用命令:查看系统版本号getprop ro.build.version.release常见编译错误:一.ELF检查报错error: found ELF prebuilt in PRODUCT_COPY_FILES, use cc_prebuilt_binary / cc_prebuilt_library_shared instead问题代码:
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/../../../bin/system/lib64/libxxxsdk.so:system/lib64/libxxx ...
Android 车载应用开发指南 - CAN Bus 协议详解
在现代车载应用开发中,CAN(Controller Area Network)总线协议扮演着不可或缺的角色。作为一个汽车内部网络的标准协议,CAN Bus 已经成为了车载系统通信的基础。而在 Android 车载应用开发的过程中,理解并利用好 CAN Bus 协议是必不可少的。
那么,CAN Bus 到底是什么?它又是如何在车载应用中实现数据传输的?在这篇 ...
我是如何开发一款支持IDEA、PyCharm、Android Sutdio 等JB全家桶的摸鱼插件的
公众号「古时的风筝」,专注于后端技术,尤其是 Java 及周边生态。
个人博客:www.moonkite.cn
大家好,我是风筝
前些天做了一款支持 Jetbrains 大部分 IDE 的摸鱼插件- 一款IDE摸鱼插件,没想到出乎意料的没什么人用,当初说 VsCode 里面的养宠物的插件时,一大堆人问 IDEA 里有没有、PyCharm 里有没有,那些人呢,上哪 ...
Android之JNI开发
JNIJNI是Java Native Interface的缩写,俗称Java本地接口,是Java语言提供的用于Java和C/C++相互沟通的机制,Java可以通过JNI调用本地的C/C++代码,本地的C/C++的代码也可以通过JNI调用Java代码。
那什么场景下可能会用到JNI呢?1、需要提升性能时,比如说做一些底层的开发,例如音视频处理之类的,通常都会用到JNI。2、增 ...
Android开发 - IInterface 接口 Binder 机制跨进程通信 (IPC)解析
什么是 IInterface
IInterface 一个接口,用于跨进程通信 (IPC)。有时需要让一个应用程序与另一个应用程序或服务进行通信。这些应用程序可能运行在不同的进程中,使用 Binder 机制来实现这种通信,而 IInterface 就是 Binder 机制的一部分
简单来说,IInterface 是一个基础接口,它为跨进程通信提供了一个通用的接口
...
Android开发
开发工具Android Studio软件
官网地址:https://developer.android.google.cn/studio
# 项目构建工具介绍Gradle和Maven都是Java项目的构建工具,但它们有一些区别:1. 语法:Gradle使用Groovy语言进行编写,而Maven使用XML。Groovy更加灵活易读,XML更加严谨易于重用。2. 性能:Gradle比Maven更加高效快速,因为它使用了增量 ...
android开发通过wireshark实现flutter应用抓包
android开发通过wireshark实现flutter应用抓包
1. 为什么要使用wireshark抓包
1.有了上一篇Charles的抓包文章,为什么还写这篇抓包文章呢?单独论http请求抓包的话Charles比wireshark好用
2.这是因为flutter应用使用的不是系统的证书,而是使用flutter框架自己的证书,这就导致了Charles即使配置了系统证书抓包不了,所 ...
android开发将charles证书安装到安卓系统根目录实现https抓包
android开发将charles证书安装到安卓系统根目录实现https抓包
1. 安装charles,然后先将charles证书到电脑端
1.下载地址:https://www.charlesproxy.com/
2.安装证书到电脑端先:点击Help -> SSL Proxying -> Install Charles Root Certificate -> 安装证书... -> 本地计算机 -> 下一步 -> 直到完成即可
2. 启动和设 ...
Android开发基础06-Android项目结构
详细介绍Android项目结构
Android开发过程中,高效、清晰的项目结构是成功的关键。理解并合理组织项目结构,有助于提高代码的可维护性和团队协作的效率。
目录概览
一个典型的Android项目目录结构如下:
MyApplication/
├── app/
│ ├── build/
│ ├── libs/
│ ├── src/
│ │ ├── androidT ...
Android开发基础03-安卓架构
Android 操作系统是一个复杂的系统,由多层构成,每一层都起着特定的作用。理解这些层次及其作用,有助于全面掌握 Android 的工作原理。本文将详细介绍 Android 的五大层次:应用层、应用框架层、库和 Android 运行时层、Linux 内核层,并深入分析每一层次的作用。
1. 应用层 (Applications Layer)
概述
应用层是 Android ...
Android开发 - (适配器)Adapter类中BaseAdapter实现类详细解析
简介
提供自定义 Adapter 的基本实现,是其他自定义 Adapter 的基类
具体作用
BaseAdapter 是 Android 开发中一个非常重要的Adapter(适配器)基类。它提供了创建自定义适配器的基本实现,使开发者可以根据具体需求创建适用于不同视图(如 ListView、GridView)的数据适配器。以下是 BaseAdapter 的主要作用:
提供基本接 ...
android开发基础
打印日志
Log.e:表示错误信息,比如可能导致程序崩溃的异常。
Log.w:表示警告信息。
Log.i:表示一般消息。
Log.d:表示调试信息,可把程序运行时的变量值打印出来,方便跟踪调试。
Log.v:表示冗余信息。
app开发语言
Java是Android开发的主要编程语言,创建新项目时,Language栏默认选择了Java,表示该项目采用Ja ...
Android开发 - Canvas类与Paint画笔与Draw绘制方法详解与使用
Canvas类是什么
Android中Canvas类常用于自定义View等操作中,Canvas则如同一张画布可以在上面绘制内容,然后这张画布也可以叠加其他的图层或者平移旋转等操作。Canvas对象的获取方式有两种:一种我们通过重写onDraw方法,View中重写onDraw(Canvas canvas)Canvas对象会被当做参数传递过来,我们操作这个Canvas,效果会直接 ...
Android开发 - onMeasure、onLayout和onDraw方法解析
onLayout、onMeasure和onDraw方法介绍
onMeasure(int widthMeasureSpec, int heightMeasureSpec)
onMeasure方法用于测量View的大小。在自定义View中,我们需要重写这个方法,根据自定义View.xml视图的宽高测量模式(MeasureSpec)来计算并设置自定义View的宽高
MeasureSpec:测量规范,以自定义View.xml视图为规范进行 ...
Android 开发学习笔记
Android 开发学习笔记
基本概念
Android 应用程序由一些零散的有联系的组件组成,通过一个工程 manifest 绑定在一起。在 manifest 中,描述了每一个组件以及组件的作用,其中有 6 个组件,它们是 Android 应用程序的基石。Android 有四大组件(也有说六大组件的,外加 Intent 和 Notification),分别是 Activity,Service ...
android系统开发修改桌面Launcher3代码编译安装验证
1.使用aidegen打开Launcher3项目
1.1 首先整个aosp源代码编译成功过,自然也就是编译成功了aidegen工具。Android10之后才有aidegen工具,之前还只是idegen工具相对难用点。
1.2 先cd来到源代码根目录下:cd ~/aosp_10.0.0_r17
1.3 导入编译环境:source build/envsetup.sh
1.4 选择编译目标:lunch aosp_sailfish-userdebu ...
android系统开发编译android-10.0.0_r17源代码成功刷机到pixel步骤
1. 环境准备
建议参考之前编译的aosp12这篇文章,因为我这边之前编译成功过,这次直接编译aosp基本没报错
文章链接:https://www.cnblogs.com/yongfengnice/p/18070332
1.1 安装VMware虚拟机、Linux编译环境以及aosp编译依赖的第三方依赖
Android系统源代码编译优先推荐使用Ubuntu环境,所以Window上需要先安装VMware虚 ...
Android开发笔记
0.导入字串
合并key和value
=CONCATENATE("<string name=",CHAR(34), $A2,CHAR(34), ">", C2, "</string>")
分离key和value
举例:
在A3输入:<string name="app_name">HiShare</string>
提取key:
=MID(A3,FIND("name=""",A3)+6,FIND(""">",A3)-FIND("name=""",A3)-6)
提取value:
=MID(A3,FIND(""">",A3)+2,FIND(" ...
Android Compose开发
目录好处入门Composable布局其他组件列表verticalScroll延迟列表内容内边距性能修饰符偏移量requiredSize滚动添加间距SpacerButtonContext文字图片TextField重组状态提升viewmodel互相调用Android View项目学习其他text 加一个背景paddingzIndexLaunchedEffectDisposableEffectpading3
好处
Compose 编译后不是转化为原生的 ...
Golang 开发Android服务--交叉编译
Golang 开发Android服务--交叉编译
go env -w GOPROXY=https://repo.huaweicloud.com/repository/goproxy/,https://goproxy.nd.tevat.dev,https://goproxy.cn,direct
export GOPROXY=https://goproxy.io,direct
go env -w GOPROXY=https://goproxy.io,direct
https://goproxy.io 是一个流行的Go模块代理,但也有其他代 ...