aosp

AOSP抽离miracast功能

北战南征 提交于 2020-03-20 13:28:30
最近一周用ndk编译aosp miracast功能,因为代码依赖原因,prebuild aosp原生so; 因为N之后限制了调用系统so,通过白名单机制开源绕过so限制。 今天遇到jni_onLoad无法调用问题,调试半天才发现jni_onload被包含在namespace android里面; 导致java无法调用到; 回调对象使用时,报null pointer derefence;一直以为是对象被提前释放;结果是jvm虚拟机对象没被保存,导致 findEnv crash; 但是Backtrace一直显示 回调函数crash;误导了一个晚上 来源: 51CTO 作者: lindt 链接: https://blog.51cto.com/lindt/2480228

AndroidSystemDebug官方指导

冷暖自知 提交于 2020-03-03 20:34:13
AndroidSystemDebug官方指导 Google是AOSP项目的主导者,关于Android开发有两大官网,在“资料收集”篇有提到就是 Android Open Source Project 与 Android Developers 官网。在这两大网站上有关于aosp项目和app开发的一切官方资料。Google公司的工作是值得认可的, 所以我们的任务第一步要整理学习前人的工作,避免重复造轮子。 本篇将过滤AOSP与developer官网提到的开发调试工具及方法。 本文只给出地址及简介 。 AOSP、Developer两大官网内容详实,建议Android系统开发者和app开发者通读,对了解Adroid OS全貌有帮助。 AuthBlog:秋城 https://www.cnblogs.com/houser0323 Contents 1. AOSP 2. Developer 1. AOSP 本章列出的内容主要关注Android系统/平台。 Git Android选择使用Git来做工程代码版本控制 Repo 简单来说,repo用来管理繁多的Git仓库。 In most situations, you can use Git instead of Repo, or mix Repo and Git commands to form complex commands. However,

build-android-in-OS-X-Yosemite-Xcode-7

别来无恙 提交于 2020-02-29 16:47:00
摘自自己的github build-android-in-OS-X-Yosemite-Xcode-7 build whole android (AOSP) in Mac OS X Yosemite + Xcode 7.0.1(v10.5 SDK) My environment: Mac OX X 10.10.5(14F27) Xcode 7.0.1(7A1001) jdk1.7.0_80 jdk1.8.0_51 (Default) First of course, download AOSP by official instructions except that i use android-5.1.1_r14 branch instead of android-4.0.1_r1. Then what i did especically are: 1. To avoid check error of OS X SDK version, run following command first: export build_mac_version=`sw_vers -productVersion` #for me, result is 10.10.5 export mac_sdk_version=10.9 #this is the biggest version AOSP build

编译Android系统源码

好久不见. 提交于 2019-12-21 01:26:01
步骤 : 1:下载源码 2:搭建编译环境 3:编译( 一定要等源码下载完整再编译) 硬件软件要求 官方文档 : https://source.android.google.cn/setup/build/requirements 硬件要求 : 如果是 Android 2.3.x (Gingerbread) 及更高版本(包括 master 分支),需要使用 64 位环境。如果是较低的版本,则可以在 32 位系统中进行编译。 如果要检出代码,至少需要 250GB 可用磁盘空间;如果要进行编译,则还需要 150GB。如果要进行多次编译,则需要更多空间。 如果在虚拟机中运行 Linux,则至少需要 16GB 的 RAM/交换空间。 我装的是虚拟机Ubuntu16.0.4,根据官方的要求准备了520G,下载的是8.1的源码,编译完以后发现还有250G。多分配点空间更好以免空间不足扩容麻烦。 一、 下载源码 Android 源码是非常庞大的,而且每个模块都是用git来进行管理 ,整个Android源码是由很多个git项目构成,Google对Android代码的更新也是更新到相应模块的git项目上。 那对于需要编译Android的开发者来说,要分别clone 每个git项目而且还要放到固定的位置确实是件惨绝人寰的事,所以Google就开发了一个基于Python编写的帮助开发者管理多个项目的工具

Android添加新按键

雨燕双飞 提交于 2019-12-04 06:59:50
1、前言 在Android开发中可能会遇到添加新的按键的需求,本文将简单介绍如何在Android系统中完成一个新的按键的添加。 当系统有新的按键需要添加时,Linux内核下的键码到Android系统中键码是如何进行转换映射的? 2、内核添加设备节点 首先,我们需要在Linux内核添加新的按键值,在Linux内核中提供了按键的驱动程序gpio_keys.c,该驱动是基于设备树实现的,因此,先添加自己的设备节点,如下: gpio_keys { status = "okay"; compatible = "gpio-keys"; #address-cells = <1>; #size-cells = <0>; input-name = "test-keys"; pinctrl-names = "tlmm_gpio_key_active","tlmm_gpio_key_suspend"; pinctrl-0 = <&gpio_key_active>; pinctrl-1 = <&gpio_key_suspend>; key1@1 { label = "key1"; gpios = <&msm_gpio 96 1>; linux,code = <116>; linux,input-type = <1>; }; key2@2 { label = "key2"; gpios = <&msm

AOSP and IntelliJ IDEA

匿名 (未验证) 提交于 2019-12-03 02:05:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: Has anyone tried to work with AOSP using IntelliJ IDEA? I see in Android sources a specific folder (development/ide/intellij) but I cannot find any information how to use it in case of Android development (for Eclipse the information can be found here: http://source.android.com/source/using-eclipse.html ) Can anyone provide similar instructions how to start developing Android in IDEA? 回答1: Also a good reading here: https://shuhaowu.com/blog/setting_up_intellij_with_aosp_development.html If you get Couldn't find idegen.jar. Please run make

Android8.1源码编译实践(Mac)

匿名 (未验证) 提交于 2019-12-02 23:47:01
AOSP版本选择很重要,如果选错了,会造成编译失败等各种问题,编译AOSP对Xcode的版本是有要求的; 比如:AOSP6.0-7.0,要求Xcode的版本是8.3,然而在MacOS 10.14上面是不支持Xcode8.3的这就很尴尬; 由于现在大家的Mac环境基本是更新到最新的10.14了,所以这里推荐大家选择android-8.1.0_r1。 编译环境: OS: macOS Mojave 10.14.4 JDK: 1.8.0_144 Xcode: 10.2.1 XcodeSDK: 10.11 AOSP: android-8.1.0_r15 Git: 2.21.0 由于Mac OS的文件系统默认是不区分大小写的,Git 并不支持此类文件系统,而且此类文件系统会导致某些 Git 命令(例如 git status)的行为出现异常,所以我们需要在区分大小写的文件系统中对 AOSP 源文件进行操作。 通过 shell 使用以下命令创建磁盘映像: # hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 150g ~/android.dmg 这里设置分配150g的大小,这将创建一个 .dmg(也可能是 .dmg.sparseimage)文件,该文件在装载后可用作具有 Android 开发所需格式的存储卷。

AOSP 预置 APP

耗尽温柔 提交于 2019-11-27 08:28:54
Android 系统预置 APP 是做 Framework 应用开发经常经常会遇到的工作,预置 APP 分为两种,一种是直接预置 APK,一种是预置带有源码的 APP。 预置 apk 示例说明 以 .apk 示例,在 AOSP/packages/apps 新建名为 的文件,放入 ***.apk,再新建 Android.mk,内容如下: LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_MODULE := < your app folder name > # 签名 LOCAL_CERTIFICATE := < desired key > # 指定 src 目录 LOCAL_SRC_FILES := < app apk filename > LOCAL_MODULE_CLASS := APPS # 该模块的后缀,不用定义 #LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX) include $(BUILD_PREBUILT) 解释: LOCAL_PATH := $(call my-dir) 每个 Android.mk 文件必须以定义 LOCAL_PATH 为开始,它用于在开发 tree 中查找源文件。