我正在构建一个定制的 Android 系统 (JellyBean)。
我有一个项目(来自上游)包含一个 .tar 文件,它应该在构建时解压缩,它的内容应该被复制到结果目录树中的某个位置。我应该如何构建makefile来做到这一点?
我尝试了以下方法:
1) 使用 un-tar 指令编写 Android.mk(在带有 tar 的 git 中)并使用“PRODUCT_COPY_FILES += ...”
这不起作用,因为 PRODUCT_COPY_FILES 不能在 Android.mk 中使用
2) 使用 untar 说明和一些包含在 AndroidProducts.mk 中的产品定义 mk 文件编写 Android.mk,其中包含“PRODUCT_COPY_FILES += ...”
这不起作用,因为解压缩发生在“PRODUCT_COPY_FILES += (ls /untared/dir/*)”之后,因此 PRODUCT_COPY_FILES 结果为空。
3) 编写产品定义 mk 文件做 untar 然后“PRODUCT_COPY_FILES += ...”
这有效但不是很好,因为构建系统在多个位置包含此文件并且解压缩发生多次(~10)这会减慢构建速度并且不好......
如何修改 AOSP 中的启动顺序:在启动 Launcher2 应用程序之前,我将添加自定义应用程序(注册应用程序 - 登录名和密码,将发送到服务器以进行授权)。我怎样才能做到这一点?我知道 ActivityManager 管理要启动的 Activity,但我不知道应该在哪里启动应用程序。我需要在 android 系统启动完成后立即启动我的应用程序。
我正在使用AOSP通过repo命令下载的源(http://source.android.com/source/using-repo.html)
现在我需要获取 1 个月前的所有存储库。
我在这里找到了解决方案(http://alexpeattie.com/blog/working-with-dates-in-git/):
git revert master@{"1 month ago"}
但我不能在 AOSP 源代码树中做到这一点。
我尝试这样做:
repo forall -c git revert master@{"1 month ago"}
但它不起作用,因为AOSP 中的master所有git存储库都没有分支repo。
有什么解决办法吗?
我有一部带有 Android 4.2.2 的 root 手机。我想使用引导加载程序代码中使用的minuiAPI(源代码here)在屏幕上绘制内容。minui 比原生 OpenGL 简单得多,我不需要 OpenGL 公开的任何复杂功能。
问题是我不能直接向fb0设备写东西。FBIOPUT_VSCREENINFO不明原因失败。
如何直接fb0在 Android 上绘制,或者如何minui在引导加载程序模式之外使用?
我在我的电脑上下载并构建了新的android棒棒糖源代码,并尝试将代码导入IDE,我尝试了intellij和android studio使用这里的帖子
我尝试执行development/tools/idegen/idegen.sh文件,但似乎不断收到java文件错误
Exception in thread "main" java.io.FileNotFoundException: ./out/target/product/hammerhead/obj/GYP/shared_intermediates/res.java (Is a directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at java.io.FileReader.<init>(FileReader.java:72)
at Configuration.parsePackageName(Configuration.java:204)
at Configuration.rootOf(Configuration.java:180)
at Configuration.traverse(Configuration.java:140)
at Configuration.traverse(Configuration.java:167)
at Configuration.traverse(Configuration.java:167)
at Configuration.traverse(Configuration.java:167)
at Configuration.traverse(Configuration.java:167)
at Configuration.traverse(Configuration.java:167)
at Configuration.traverse(Configuration.java:167)
at Configuration.traverse(Configuration.java:167)
at Configuration.<init>(Configuration.java:72)
at Main.main(Main.java:37)
Run Code Online (Sandbox Code Playgroud)
这个方法在KitKat源代码中对我有用,但在这个版本中我一直收到这个错误.
我真的不知道该怎么做了.
我真的需要使用intellij或android studio作为AOSP代码.
请帮忙.
java android intellij-idea android-source android-5.0-lollipop
关于构建 android 项目(Android 本身,而不是应用程序),我尝试使用以下命令:
. build/envsetup.sh
lunch command
make -j4
Run Code Online (Sandbox Code Playgroud)
这运行得很好,但由于关闭,构建在中间停止了。但我尝试再次运行 make 命令。它停在这一行:
build/core/base_rule.mk:141: somepath:local_built_module 和本地安装的模块不得由组件 makefile 定义
我什至尝试使用 make clean 命令运行它。但没有用。有人可以告诉我如何才能成功吗?
我正在从其 5.1 分支构建 AOSP,我想知道如何在我的自定义构建中包含静态壁纸,因为默认情况下只有一个。
我想知道两件事:
我正在尝试按照 Google 的文档来构建我自己的 Android 版本,但它在“repo init”状态下失败(第 2 节的第 2 步):https : //source.android.com/source/downloading.html
当我跑
'repo init -u https://android.googlesource.com/platform/manifest'
它回答
fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle
fatal: error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)
Run Code Online (Sandbox Code Playgroud)
我真的不知道该尝试什么,除了确保我拥有所有合适的工具(我知道,一个全新的 Macbook Pro w/El Capitan,Python 2.7,安装了 GPG,所有这些。)我还能忘记什么做?我可以做些什么来禁用 SSL 检查、更改证书或类似的东西?
我正在为自定义硬件构建 AOSP 版本,并且我想使用一些 root 权限(INJECT_EVENTS、UPDATE_DEVICE_STATS、CONNECTIVITY_INTERNAL)。
对于转速控制,最好使用基于 APK 的发行版。因此,我想在构建中包含 APK,而不是每次都构建源代码。程序成功包含,但系统权限被忽略。
有没有办法包含该程序,使其获得必要的权限?我希望 Android.mk 中的 LOCAL_CERTIFICATE、LOCAL_MODULE_CLASS 或 BUILD_PREBUILT 可以实现某种连接。
编辑:解决方案是首先确定用于构建 Android 系统的签名。它们存在于 AOSP 内的 /build/target/product/security/platform 中。一旦获得这些签名,我就可以创建一个新的密钥库。然后,我使用此处找到的工具 keytool-importkeypair 将密钥导入到新的密钥库中。
https://github.com/getfatday/keytool-importkeypair
完成后,我可以在 Android Studio 中选择密钥库,并正确安装和调试具有必要权限的程序。
android-source ×10
android ×9
build ×2
apk ×1
framebuffer ×1
git ×1
ioctl ×1
java ×1
linux ×1
makefile ×1
privileges ×1
python ×1
repo ×1
repository ×1
ssl ×1
tar ×1
wallpaper ×1