标签: android-source

如何在 Android Studio 中使用自定义 android SDK?

我向我的自定义 android 操作系统添加了一个新 API,并按照以下步骤创建了 SDK:

  • . 构建/envsetup.sh
  • 午餐 sdk-eng
  • make -j(thread num) update-api
  • make -j(线程数) sdk
  • SDK位于/out/host/linux-x86/sdk/sdk/

然后将 Android Studio 配置为使用新的 SDK:

  • 打开 Android Studio 的首选项 --> Android SDK
  • 使用新的 SDK 路径编辑Android SDK 位置

结果:当我尝试构建项目时,构建过程卡住了一条消息:

AAPT 进程未准备好接收命令

与此同时,我找到了一种使用自定义 android.jar 的解决方法(在答案中)

android android-source android-studio

6
推荐指数
1
解决办法
3329
查看次数

将大量 Android.mk 文件转换为 CmakeLists userInclude

我正在开发一个衍生自 AOSP 的项目,并且希望能够使用 CLion 来编辑具有代码支持的 C++ 部分。

据我了解,阻止我这样做的主要因素是我需要包含 Android.mk 包含的所有项目。我可以通过 mma 编译,但是从 Clion 内部构建失败,因为它无法解析 #include 命令..

有没有办法遍历现有的 Android.mk 文件来创建一个合适的 Cmakelists 文件,让 Clion 提供代码支持?这可能吗?

谢谢

c++ makefile cmake android-source clion

6
推荐指数
0
解决办法
278
查看次数

AOSP - 构建自定义图像并在 SDK 上使用 Android 模拟器运行它们

我目前正在使用 Android 开源项目构建自定义图像。我想将这些自定义图像(system.img、ramdisk.img、cache.img 等)发送给朋友,以便他/她无需编译整个 AOSP 分支即可运行它们。请注意,他们“确实”拥有最新的官方 Android SDK(不是 AOSP)。

有没有办法做到这一点?理想情况下,我希望有一些已经存在的 make 目标,我可以在其中简单地运行它(make avd-package)并且会弹出一个“avd”(或接近它的东西),这样我就可以将它发送给我的朋友和让他们输入:

模拟器 -avd

此外,根据我的研究,我希望这些图像可由普通 Android SDK(而非 AOSP)运行这一事实可能会带来问题,因为 Android SDK 中的工具与 AOSP 中的工具(例如 qemu 版本等)不同。 )。我还需要向我的朋友发送模拟器二进制文件吗?

谢谢!

android android-source

6
推荐指数
1
解决办法
695
查看次数

使用adb获取Android设备的芯片名称?

有没有一种简单的方法可以使用 adb shell 获取 Android 设备的芯片名称,例如 MediaTek SoC (ARMv5 MT1000 ..)?

我正在尝试运行“adb shell cat system/build.prop”,但没有找到芯片或 SoC 名称。

任何帮助!

android adb android-source

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

预装一些应用程序,以便用户无需root即可卸载

我(作为 AOSP 构建者)可以预安装一些应用程序,以便在设备上刻录后可以轻松卸载它们(就像常规下载的应用程序一样)吗?

我已经熟悉系统应用程序和隐私应用程序,但由于它们位于系统分区中,因此无法删除!(仅在设置菜单中禁用)

PS 我知道华为例如使用 /system/delapp 来安装此类应用程序。但我正在寻求一种通用方法或专门针对我正在研究的 AMLogic 平台!

android-source android-7.1-nougat

6
推荐指数
1
解决办法
1861
查看次数

将 AOSP 的预安装软件包条带化的最优雅的方式是什么?

我正在尝试逐步将 AOSP 从其默认应用程序中剥离出来。但我想知道我要应用的方法是否正确并且是最有效的有效的

在研究了这样做的方法之后,我采用了以下方法:(示例应用程序 - “package_name”)

1. Pick particular app and find out its "LOCAL_PACKAGE_NAME"
2. Use "envsetup.sh" provided command "mgrep package_name"
3. Look at the output to determine where package_name is mentioned
4. Remove lines of code containing package_name from makefiles
Run Code Online (Sandbox Code Playgroud)

我也偶然发现了这个解决方案:

您可以添加一个新模块,一个存根,而不是修改 AOSP 中许多文件夹中的一堆 .mk 文件,并使用 LOCAL_OVERRIDES_PACKAGES 在其 Android.mk 中禁用模块,而不是修改许多文件夹中 AOSP 中的一堆 .mk 文件。如果某个模块仍然出现在目标中,您可能需要向 LOCAL_OVERRIDES_PACKAGES 添加另一个通过 LOCAL_REQUIRED_MODULES 添加不需要的包的模块。

但遗憾的是我还不知道如何构建一个新的“模块,一个存根”,所以我现在还不能应用这种方法。

我可以采取任何步骤来确保从我的构建中完全删除特定应用程序而不损害任何内容。你认为什么最优雅如果有的话,什么(文献/文档/网站)对我熟悉对 AOSP 代码进行“临时”更改(如上述案例)有用?

如果这很重要,我现在想删除的内容是:计算器;日历; 相机; 钟; …

android package android-source

6
推荐指数
1
解决办法
2882
查看次数

本机库没有从 golang 条件实现加载到 apex_defaults?

所以我写了一个 go 文件,它将动态附加一个库到 apex_defaults-> multilib -> first -> native_shared_libs; Android.bp可以在此处查看完整代码。但是,我无法像生成的其他 lib .so 文件一样在我的 out 目录中看到已编译的 .so 文件。

长解释:

我想向数组native_shared_libs添加一个名为“libabcxtractor”的库;就此而言,我写了一个.go文件(由 Google 推荐),其条件如下:

package my_apex

import (
    "android/soong/android"
    "android/soong/apex"
    "fmt"
    "strings"
)



func globalFlags(ctx android.BaseContext) []string {
        var native_shared_libs []string
        if(strings.Contains(ctx.AConfig().DeviceName(), "my_apex_device")){
                fmt.Println("Some log to verify condition is getting executed......")
                native_shared_libs = append(native_shared_libs, "libabcextractor")
        }

        return native_shared_libs
}

func myApexFlagsDefaults(ctx android.LoadHookContext) {
    type props struct {
                Multilib struct {
                        First struct {
                                native_shared_libs  []string
                        } …
Run Code Online (Sandbox Code Playgroud)

android build go android-source

6
推荐指数
1
解决办法
400
查看次数

如何在 AOSP 项目中使用我预构建的 C++ 静态/共享库

我想使用我的静态或共享预建库libmylib.so or libmylib.a。我的构建目标是 Hikey960 设备。我成功构建了纯aosp项目并刷新到Hikey960设备。接下来我想/frameworks/av/media/libaudioclient/AudioTrack.cpp使用我的libmylib.so.

设置1

我创建了mylib目录/system并复制了预构建的库。

|-- Andoird.mk
|-- arm64-v8a
|   |-- shared
|   |   `-- Release
|   |       `-- libmylib.so
|   `-- static
|       `-- Release
|           `-- libmylib.a
|-- armeabi
|   |-- shared
|   |   `-- Release
|   |       `-- libmylib.so
|   `-- static
|       `-- Release
|           `-- libmylib.a
|-- armeabi-v7a
|   |-- shared
|   |   `-- Release
|   |       `-- libmylib.so
|   `-- static
| …
Run Code Online (Sandbox Code Playgroud)

android android-source

6
推荐指数
1
解决办法
6465
查看次数

AOSP x86_64 模拟器在 Android Studio 中不可见

我正在使用 AOSP 模拟器来测试我的代码。我在我的电脑上下载了 AOSP 的 android10_release 源代码。然后使用以下命令

source build/envsetup.sh

set_stuff_for_environment

lunch aosp_x86_64-eng

make -j6

emulator
Run Code Online (Sandbox Code Playgroud)

现在,在运行这些命令后,我可以成功地在我的 PC 操作系统中运行模拟器 Ubuntu 18.04 我还安装了许多用于处理 AOSP 的库,如 jdk-8、python、curl、repo、git 和其他描述的东西在 AOSP 网站上

我将通过执行以下命令来查看我的模拟器在终端中运行

$ adb devices
Run Code Online (Sandbox Code Playgroud)

附加设备列表 emulator-5554 设备

我还可以通过执行以下命令在此模拟器中安装我的 apk

$ adb install myapp.apk
Run Code Online (Sandbox Code Playgroud)

它被安装,我可以在模拟器中看到它

现在来回答我的问题

为什么此模拟器未在设备的 Android Studio 中显示即使我对 android studio 中的 adb 连接进行故障排除,它也会显示我的模拟器正在运行但未显示在可用设备中。

android android-emulator android-source android-studio

6
推荐指数
1
解决办法
2281
查看次数

模拟器:错误:无法从内核映像文件中获取内核版本:'/media/anand/BUILD/aosp/out/target/product/generic/kernel-ranchu-64'

我是新的 AOSP 构建系统。我按照以下链接中给出的所有步骤 https://source.android.com/setup/build/building

从源代码构建 Android。使用了最近的标签android-11.0.0_r7

repo init -u https://android.googlesource.com/platform/manifest -b android-11.0.0_r7
repo sync -c -j8
source build/envsetup.sh
lunch aosp_arm-eng 
make -j8
Run Code Online (Sandbox Code Playgroud)

构建成功

removing out/target/product/generic/system-qemu.img.qcow2
out/host/linux-x86/bin/sgdisk --clear out/target/product/generic/system-qemu.img

#### build completed successfully (05:12:46 (hh:mm:ss)) #### 
Run Code Online (Sandbox Code Playgroud)

但是当我运行模拟器时,我收到此消息

emulator: ERROR: Can't get kernel version from the kernel image file: '/media/anand/BUILD/aosp/out/target/product/generic/kernel-ranchu-64'
Run Code Online (Sandbox Code Playgroud)

任何人都可以请帮忙,我做错了什么

android android-source

6
推荐指数
0
解决办法
580
查看次数