Android

安卓开发

  • aosp启动流程1-main和FirstStageMain

    aosp启动流程1-main和FirstStageMain

    参考: https://www.it610.com/article/1304931662924124160.htm https://blog.csdn.net/pepsimaxin/article/details/107284563 https://juejin.cn/post/6844903946151002125 基于 LineageOS 18.1,Android 11。 简述: 1)按下电源系统启动 当电源按下时引导芯片代码开始从预定义的地方(固化在 ROM)开始执行,加载引导程序 Bootloader 到 RAM,然后...

  • aosp09-结合SystemProperties,通过NotificationManagerService拦截通知

    aosp09-结合SystemProperties,通过NotificationManagerService拦截通知

    本例仍旧基于lineageos18.1(android 11, api 30) 1. NotificationManagerService 首先,NotificationManager,这里什么也没做,只看下怎么进到NMS的。 %lineage%/frameworks/base/core/java/android/app/NotificationManager.java[crayon-6649290d733c4472326245/] 然后,是NotificationManagerService,虽然还有后续各种类,姑且在这里拦截吧。 %lineage%/f...

  • aosp08-应用源码编译

    aosp08-应用源码编译

    进入 %lineage%/packages 目录 一.直接内置apk文件到lineageos 1.目录准备 创建一个文件夹(名称自定义目录,如“happy/my”),将准备好的apk文件(如“my.apk”)放入。 创建 Android.mk 文件。 目录结构如下:​​​​​​​ [crayon-6649290d739c2575727154/] 2.Android.mk内容 [crayon-6649290d739c9203261844/] 3.将apk模块注册到系统 lineageOs中,可以加到和Se...

  • aosp07-将LineageOS源码导入AndroidStudio

    aosp07-将LineageOS源码导入AndroidStudio

    在 %lineage%/development/tools/idegen/ 下有 idegen.ipr 和 idegen.iml 文件,并且有README文件说明其用法。 本文参考 https://wiki.lineageos.org/how-to/import-to-android-studio 1.准备项目文件 打开 shell 并导航到 Android 源码的根文件夹,例如~/android/lineage. 如果尚未加载环境函数和变量,请键入: [crayon-6649290d73e70983237292/] 如果您在...

  • aosp06-手动编译小米Note3的LineageOS系统

    aosp06-手动编译小米Note3的LineageOS系统

    Ubuntu20 小米Note3(已刷lineageos,http://www.gaohaiyan.com/3728.html) 1.Ubuntu设置 1.1.配置USB调试手机 查看手机的ID: $lsusb Bus 003 Device 003: ID 18d1:4ee7 Google Inc. Mi Note 3 使用root用户创建 /etc/udev/rules.d/70-android.rules 文件,并输入 SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4ee7", MODE="0666"...

  • aosp05-小米Note3刷LineageOS官方系统

    aosp05-小米Note3刷LineageOS官方系统

    lineageos的同类开源项目 /e/OS https://e.foundation/e-os/ 1.设备准备 准备:Windows系统的电脑、小米Note3手机(插有可正常通话及使用移动数据的SIM卡)、小米账号。 1.1.小米解锁工具 http://www.miui.com/unlock/download.html http://miuirom.xiaomi.com/rom/u1106245679/5.5.224.55/miflash_unlock-5.5.224.55.zip 下载后解压即可,miflash_un...

  • aosp04-查看LineageOS支持的手机设备

    aosp04-查看LineageOS支持的手机设备

    从这里查找自己的手机品牌:https://wiki.lineageos.org/devices/ 点击手机品牌,进入这里选择手机型号:https://wiki.lineageos.org/devices/#手机品牌 ,记住中间一列的“Codename”。 这里查看手机支持的LineageOS版本 https://wiki.lineageos.org/devices/【手机Codename】/build#initialize-the-lineageos-source-repository LineageOS清华镜像站:ht...

  • aosp03-使用AndroidStudio查看android源码

    aosp03-使用AndroidStudio查看android源码

    接上一篇

  • aosp02-编译android源码

    aosp02-编译android源码

    接 http://www.gaohaiyan.com/2235.html 一文, 一.JDK准备 1)查看你要下载android代码分支所需的SDK版本,https://source.android.google.cn/source/requirements#jdk Android 7.0 (Nougat) - Android 8.0 (O):Ubuntu - OpenJDK 8;Mac OS - jdk 8u45 或更高版本 Android 5.x (Lollipop) - Android 6.0 (Marshmallow):Ubuntu - OpenJDK 7;Mac OS - jdk-7...

  • aosp01-下载android源码

    aosp01-下载android源码

    一.装备 ThinkPad x260(20F6A09KCD), 酷睿i5-6200U处理器(双核四线),8GB内存(单条),500GB机械硬盘, 系统:Ubuntu 14.04.5 LTS (Trusty Tahr) ,安装时各种分区大小都是系统默认的。 直接启用root用户。 先在终端执行git命令,根据提示更新或安装。 二.安装Repo 参考 https://source.android.google.cn/source/downloading 。 1)下载 Repo 工具,curl...

  • 基于adb的360手机助手设计

    基于adb的360手机助手设计

    旧码整理。 很多安卓手机管理软件的安装目录里都能发现自带的adb.exe,但一般都是经过二次开发的。 这里是实现此类软件功能的一种设计。 一. 原理图 二. 手机端 1. 长连接服务 [crayon-6649290d742ba723325621/] 2. 连接请求监听 [crayon-6649290d742c4931170158/] 3. 启动监听 [crayon-6649290d742c9108273369/] 二. 管理端(windows) [crayon-6649...

  • Mac中使用ndk配合cmake生成so

    Mac中使用ndk配合cmake生成so

    在mac中仅通过cmake编译c或c++代码默认生成的是dylib文件。 0.系统 macos sierra 10.12.5。 1.下载ndk https://developer.android.google.cn/ndk/downloads/ 2.测试用的test.c文件 [crayon-6649290d7470b621061266/] 3.编写CMakeLists.txt [crayon-6649290d74713853111111/] 和test.c文件放在同一目录里。 4.本例cmake用的是ndk中自带的,位于/Users/m...

  • 开始 Google things

    开始 Google things

    请参阅谷歌官方文档,此文如有误请指正,谢谢! https://developer.android.com/things/sdk/index.html 准备 Android SDK tools 升级到24以上 Android SDK api 升级到24以上 依赖 为新建的项目添加必须的things依赖 1.主app的build.gradle文件: [crayon-6649290d74b6c566222201/] 2.在manifest文件: [crayon-6649290d74b74840856151/] 入口 ...

  • Mac下使用iperf对Android手机进行wifi吞吐量测试

    Mac下使用iperf对Android手机进行wifi吞吐量测试

    一。Mac安装iperf 1. /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 参考 http://macappstore.org/iperf/ 2. brew install iperf 二。Android安装iperf_*.apk 链接:https://pan.baidu.com/s/1Wt-3eWU4KLU92kPnIzo4-w 密码:s7da 三。测试方式 1. 测试上行速率(Mac作Server,手机作Client) 2...

  • 在Android中使用JNA

    在Android中使用JNA

    一.JNA简述 略。 二.so文件的编译 本文以C语言为例。 1.C源文件 [crayon-6649290d75388487462602/] 2.Android.mk文件 [crayon-6649290d7538f184662172/] 3.Application.mk文件 [crayon-6649290d75394626043221/] 4.使用NDK编译 有些网络文章中讲到的,可以不用App.mk文件。 这里只使用NDK进行编译。即 你电脑上没有安装AndroidStudio和Ecli...

  • Win下编译FFmpeg及AS中的编译使用

    Win下编译FFmpeg及AS中的编译使用

    www.cuiweiyou.com www.gaohaiyan.com 本文参考: http://www.roman10.net/2013/08/18/how-to-build-ffmpeg-with-ndk-r9/ http://blog.csdn.net/hejjunlin/article/details/52661331 http://blog.csdn.net/finewind/article/details/42214343 https://my.oschina.net/SunnyTime/blog/612612 一.安装MinGW 在windows下编译FFmpeg有MinGW、VS...