小编Yur*_*ury的帖子

Android源代码叠加如何工作?

device/sample文件夹中的android源代码中有一个名为的文件夹overlays.你会在例如cyanogen mods中看到相同的叠加文件夹.

什么是叠加文件夹?它是如何工作的?它是干什么用的?我在哪里可以阅读更多相关信息?

提前致谢

android overlay android-source

14
推荐指数
2
解决办法
1万
查看次数

将预建的APK添加到Android AOSP system.img

我正在从源头构建AOSP.我想要做的是在生成的system.img中包含一些预构建的文件作为make过程的一部分.我正在尝试找到创建system.img的实际文件,并在那里添加几行.任何的想法?

先感谢您.

android android-source

14
推荐指数
2
解决办法
8018
查看次数

Android将额外的皮肤添加为单独的APK

我有一个简单的Android应用程序来播放视频.我有一个包含几个按钮的主屏幕.如果您按下按钮,它将播放视频.一切正常.

我的问题是我的主屏幕有一个背景图像,还有一个按钮图像.我有一个按钮来选择应用程序的皮肤.有三种选择.当我选择三个选项时,背景图像和按钮图像将会改变.现在我想在后期阶段将皮肤(包含背景图像和按钮图像)作为单独的apk.当我安装这个apk时,它应该与已经存在的皮肤一起显示.这是实现这一目标的最简单方法吗?

谢谢

android skin

14
推荐指数
1
解决办法
1029
查看次数

从源代码构建Android - 模拟器和AVD

我已经为模拟器构建了Android源代码.我在Android Source文档中读到,在成功构建期间会自动添加"模拟器"的路径.但是我有两个问题:

  1. 如果我打开一个新shell或关闭我现有的shell,则不再找到"模拟器".当然我每次想要运行模拟器时都不需要构建?

  2. 如果模拟器需要AVD,我如何创建和管理这些,因为我的机器上没有Android SDK?

谢谢,杰克

第2部分的解决方案.

我需要创建一个名为ANDROID_PRODUCT_OUT的环境变量.从以下命令:

emulator -help-build-images
Run Code Online (Sandbox Code Playgroud)

我读...

通过查看环境中的ANDROID_PRODUCT_OUT变量,模拟器检测到您正在使用Android构建系统.

如果已定义,则应指向包含生成的系统映像的特定于产品的目录.

然后我在'out'目录中搜索'system.ing'.因为我正在为模拟器构建图像所在:

out/target/product/generic
Run Code Online (Sandbox Code Playgroud)

我将以下行添加到我的.bashrc文件中:

export ANDROID_PRODUCT_OUT=/home/jack.wootton/code/out/target/product/generic
Run Code Online (Sandbox Code Playgroud)

然后我能够从以下位置运行模拟器:

/home/jack.wootton/code/out/host/linux-x86/bin
Run Code Online (Sandbox Code Playgroud)

第1部分的解决方案.

我不知道Android虚拟设备,所以这个问题仍然存在 - 但是在成功构建并设置ANDROID_PRODUCT_OUT环境变量之后,我不需要提供一个来运行模拟器.

更新解决方案

显然,应该在构建期间使用envSetup.sh脚本自动创建ANDROID_PRODUCT_OUT等变量.我想我的环境设置出了问题就是没有发生.

android open-source android-emulator android-source

13
推荐指数
2
解决办法
2万
查看次数

在Android内核中加载内核模块

我在这里列出我的问题.

我有一个谷歌Nexus手机,也就是"激情"手机.手机中安装了Fastboot和adb工具.并且启动加载程序已解锁.

我的任务:我必须在Android内核中添加一个linux内核模块.

我做了什么:

我按照http://source.android.com/source/initializing.html中的步骤操作,下载了android-2.3.6_r1(激情)的内核并构建了它.我也可以在手机上刷它,新的Android内核也可以正常工作.现在我想要的是修改内核并添加我自己的内核模块然后在手机上刷它,这样手机上的内核就是我修改过的内核.

现在我遇到了两种方法来做到这一点.

1)

交叉使用android内核编译我的内核模块,并使用adb命令将其推送到设备上.我在内核中使用的Makefile如下.

VERSION = 2
PATCHLEVEL = 3
SUBLEVEL = 6
EXTRAVERSION = -00054-g5f01537
obj-m += hello-1.o
KDIR=/home/apurva/android_dir
PWD := $(shell pwd)
all:
        make -C $(KDIR) ARCH=arm CROSS_COMPILE=/home/apurva/android_dir/prebuilt/linux-    x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- SUBDIRS=$(PWD) modules

clean:
        make -C $(KDIR) ARCH=arm CROSS_COMPILE=/home/apurva/android_dir/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- SUBDIRS=$(PWD) clean
Run Code Online (Sandbox Code Playgroud)

现在这不能生成新的hello-1.ko.我不知道为什么,我猜VERSION,PATCHLEVEL,SUBLEVEL和EXTRAVERSION值存在一些问题.这些必要吗?我从android-2.3.6_r1尝试了这些值,但它仍然不起作用.我不确定这个EXTRAVERSION值是多少?

我甚至试过在我的ubuntu中使用编译器生成的hello-1.ko.我使用以下adb命令将此hello-1.ko推送到模拟器中.

/root/bin/src/out/host/linux-x86/bin/adb shell mount
/root/bin/src/out/host/linux-x86/bin/adb push hello-1.ko /data
/root/bin/src/out/host/linux-x86/bin/adb insmod /data/hello-1.ko
Run Code Online (Sandbox Code Playgroud)

但是hello-1.ko无法insmod并且我得到以下错误.insmod:init_module()hello-1.ko函数中的错误未实现

而hello-1.c非常简单:

#include <linux/module.h>       /* Needed by all modules */
#include <linux/kernel.h>       /* Needed for KERN_INFO */

int init_module(void)
{
        printk(KERN_INFO …
Run Code Online (Sandbox Code Playgroud)

android android-source

12
推荐指数
1
解决办法
2万
查看次数

Android'repo'文档可用吗?

关于用于android存储库管理的googles'repo'工具的唯一文档是:

https://sites.google.com/a/android.com/opensource/download/using-repo

这比什么都没有:可用的帮助与输入时相同:

回购帮助

有谁知道另一个文件来源?

我明确地想知道如何恢复本地更改: - 一个git存储库,它是repo'/ manifest'文件夹或其他'repo'更改的'repo'的一部分

android repository android-source

11
推荐指数
1
解决办法
4287
查看次数

AOSP和IntelliJ IDEA

有没有人尝试使用IntelliJ IDEA与AOSP合作?我在Android源代码中看到了一个特定的文件夹(development/ide/intellij)但是在Android开发的情况下我找不到任何关于如何使用它的信息(对于Eclipse,可以在这里找到相关信息:http://source.android.com/ source/using-eclipse.html)任何人都可以提供类似的说明如何开始在IDEA中开发Android?

android android-source

11
推荐指数
2
解决办法
4687
查看次数

是否可以使用robolectric进行真正的http请求

我对robolectric的问题是它没有真正的HttpRequests.

我可以使用实际调用本地测试服务器的实际替换robolectric的HttpClient实现吗?

testing android robolectric

10
推荐指数
1
解决办法
3680
查看次数

CyanogenMod或AOSP:编译单个项目

我正在尝试从存储库中制作/编译单个AOSP项目 - 特别是包/应用程序/电子邮件.

有谁知道怎么做?(我编译整个存储库没有问题,但我真的希望能够编译一个项目).

android android-source cyanogenmod

9
推荐指数
2
解决办法
8026
查看次数

Android源码下载

我有几个关于android源代码下载,repo/git的问题.

此页面显示源下载大小约为6GB,但是当我下载时,我的目录大小为11GB.我做错了什么?

我下载源代码使用
repo init -u https://android.googlesource.com/platform/manifest
它是否为所有版本的Android下载源代码?如果是这样,我没有看到不同版本的单独目录.如何检查/列出所有可用版本?

如果我使用了它会发生什么变化
repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1

repo branches输出(no branches)

android android-source

8
推荐指数
1
解决办法
1万
查看次数