我有一种情况需要构建一组不同版本的Android源代码的静态副本.
简单地做一个repo init -b $version; repo sync将永远init需要(需要交互,并且同步将浪费我的跨版本带宽).
我目前的设置是下载一个基本版本(比如1.6_r1),将其复制到一个新文件夹(android-1.6_r2),然后重新运行init并同步(repo init -b android-1.6_r2; repo sync).有时同步失败,错误如下:
ndk/build/platforms/android-3/arch-arm/usr/incl
中止
同步工作树:100%(153/153),完成.错误:开发/:平台/开发结账caf83cb2b0ffde1a4cfb7cb258cbe012e283d9e1在android-2.1_r2.1s上重新同步返回FAIL
我发现一些有类似错误的帖子表明这可能是因为repo与文件系统中的"已更改"文件不同步,但我想知道我的错误是否是由repo的鼻子下更改版本引起的.
这是更改存储库版本的正确方法吗?更一般地说,是否有时间/带宽有效的方式将android-1.6_r1存储库转换为android-1.6_r2?
我已经将Android 4.0.1_r1源代码下载到我的本地系统.我正在努力了解构建自己的自定义Android ROM并根据我的要求进行修改.
我经历了一些关于如何为Android构建自定义ROM的基于Web的教程,我对整个过程很清楚.我实际上正在寻找的是一种定义明确的结构化方法,用于删除与源代码一起下载但我自己的构建版本不需要的包.
此外,如果有人可以提供指向构建android源(指南,书籍或教程)的链接,将会很有帮助,因为大多数可用资源都是基于使用Android SDK和应用程序框架创建Android APP.很难找到任何体面的深入教程解释整个架构,源代码树和平台级开发人员的不同构建指南.
我尝试将预建的APK添加到我的Android版本中.APK包含几个共享库(*.so文件).它编译没有问题,但我仍然从应用程序收到一个错误,表明无法找到库.
为什么会这样?
这是android.mk代码:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := apkwithso
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_REQUIRED_MODULES := libx liby libz
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := PRESIGNED
include $(BUILD_PREBUILT)
Run Code Online (Sandbox Code Playgroud)
libx,y,z是我的libx.so,liby.so和libz.so
我还试图将.so手动从APK复制到lib目录,但它没有用.
我正在使用Android 4.1.2编译Galaxy Nexus Maguro.
我在Nexus 5设备上安装了android-6.0.1_r72 AOSP Rom .rom没有附带Google Apps.
我试过从以下网站安装,但安装后我得到了
很遗憾,Google Play服务已经停止
我必须安装特殊版本的Google App吗?
更新:
我在logcat中发现了这个错误:
01-17 11:14:52.750 3525 5402 E AndroidRuntime:致命异常:GoogleLocationService
01-17 11:14:52.750 3525 5402 E AndroidRuntime:处理:com.google.android.gms.persistent,PID:3525
01-17 11:14:52.750 3525 5402 E AndroidRuntime:java.lang.SecurityException:"gps"位置提供程序需要ACCESS_FINE_LOCATION权限.
01-17 11:14:52.750 3525 5402 E AndroidRuntime:在android.os.Parcel.readException(Parcel.java:1620)
01-17 11:14:52.750 3525 5402 E AndroidRuntime:在android.os.Parcel.readException(Parcel.java:1573)
01-17 11:14:52.750 3525 5402 E AndroidRuntime:在android.location.ILocationManager $ Stub $ Proxy.addGpsStatusListener(ILocationManager.java:741)
01-17 11:14:52.750 3525 5402 E AndroidRuntime:在android.location.LocationManager.addGpsStatusListener(LocationManager.java:1522)
01-17 11:14:52.750 3525 5402 E AndroidRuntime:at aker.a(:com.google.android.gms:1064)
01-17 11:14:52.750 3525 5402 E …
我只是用回购检查了主人.现在我想切换到froyo.如果不再下载一堆东西我怎么能这样做?我不想再次下载一堆东西,我只是想在分支之间自由移动,就像在普通的git clone中一样.
由于Android有这样可怜的文档,我正在寻找浏览器的源代码,所以我可以看到它为JavaScript提供了什么对象.我应该在哪里看?有在线源代码浏览器吗?
我想通过从另一个Android应用程序启动一个活动,在浏览器应用程序中添加一些功能.package does not exist在我制作主项目时它给了我.请注意,我看到AndroidLib已成功构建到out/target/product/generic/data/app/AndroidLib.apk
这里有两个android.mk文件:AndroidLib(一个普通的Android应用程序)
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_STATIC_JAVA_LIBRARIES := \
google-ps \
android-support-v4 \
LOCAL_SRC_FILES := \
$(call all-java-files-under, src) \
LOCAL_MODULE := AndroidLib
LOCAL_PACKAGE_NAME := AndroidLib
LOCAL_MODULE_TAGS := tests
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := google-ps:libs/google-play-services.jar
include $(BUILD_PACKAGE)
# additionally, build tests in sub-folders in a separate .apk
include $(call all-makefiles-under,$(LOCAL_PATH))
Run Code Online (Sandbox Code Playgroud)
浏览器应用
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_STATIC_JAVA_LIBRARIES := \
android-common \
guava \
android-support-v13 \
android-support-v4 \
LOCAL_SRC_FILES := \
$(call all-java-files-under, src) …Run Code Online (Sandbox Code Playgroud) android android-ndk android-build android-source android-framework
我正在尝试Android构建系统几天.我可以按照此处的描述成功下载和构建系统.我建立了主分支.
emulator我没有单独运行命令,而是使用了带有此处给出的参数的命令.模拟器窗口启动并显示"android"徽标,但它停留在那里.我离开它差不多1小时,但看起来像进入某种引导循环.当检查logcat时,我可以找到一些"连接失败"的日志,如下所示.
I/PackageManager( 283): /system/app/Launcher2.apk changed; collecting certs
D/dalvikvm( 283): GC_CONCURRENT freed 460K, 36% free 5704K/8808K, paused 15ms+24ms, total 170ms
I/Installer( 283): connecting...
I/Installer( 283): disconnecting...
E/Installer( 283): connection failed
I/PackageManager( 283): /system/app/LiveWallpapers.apk changed; collecting certs
D/dalvikvm( 283): GC_CONCURRENT freed 1182K, 43% free 5049K/8808K, paused 6ms+9ms, total 125ms
I/Installer( 283): connecting...
I/Installer( 283): disconnecting...
E/Installer( 283): connection failed
I/PackageManager( 283): /system/app/LiveWallpapersPicker.apk changed; collecting certs
I/Installer( 283): connecting...
I/Installer( 283): disconnecting...
E/Installer( 283): connection failed
I/PackageManager( …Run Code Online (Sandbox Code Playgroud) 首先让我告诉你我正在使用OS X 10.7.5开发MAC.我正在尝试编译Goldfish 3.4内核并在模拟器上运行它.它编译好,但是当我运行它时,模拟器打开并冻结.当我做一个"顶部"时,我可以看到模拟器像疯了一样运行,但屏幕上没有任何东西出现.这是我编译内核的方法
git clone https://android.googlesource.com/kernel/goldfish.git
git checkout -t origin/android-goldfish-3.4 -b goldfish3.4
make ARCH=arm goldfish_defconfig
make ARCH=arm SUBARCH=arm CROSS_COMPILE=/Volumes/androidSpace/android_work/prebuilts/gcc/darwin-x86/arm/arm-eabi-4.6/bin/arm-eabi-
Run Code Online (Sandbox Code Playgroud)
然后我通过运行模拟器
./emulator -debug init -kernel /Volumes/androidSpace/goldfish/goldfish/arch/arm/boot/zImage -system /Volumes/androidSpace/android_work/out/target/product/generic/system.img -ramdisk /Volumes/androidSpace/android_work/out/target/product/generic/ramdisk.img -avd firstAvd -wipe-data
Run Code Online (Sandbox Code Playgroud)
这是运行模拟器的调试输出的最后一部分
QEMU options list:
emulator: argv[00] = "./emulator64-arm"
emulator: argv[01] = "-android-hw"
emulator: argv[02] = "/Users/deathwillarrive/.android/avd/firstAvd.avd/hardware-qemu.ini"
Concatenated QEMU options:
./emulator64-arm -android-hw /Users/deathwillarrive/.android/avd/firstAvd.avd/hardware-qemu.ini
emulator: registered 'boot-properties' qemud service
emulator: nand_add_dev: system,size=0x22600000,initfile=/Volumes/androidSpace/android_work/out/target/product/generic/system.img,pagesize=512,extrasize=0
emulator: mapping 'system' NAND image to /tmp/android-deathwillarrive/emulator-2Wyv0t
emulator: nand_add_dev: userdata,size=0xc800000,file=/Users/deathwillarrive/.android/avd/firstAvd.avd/userdata-qemu.img,initfile=/Users/deathwillarrive/.android/avd/firstAvd.avd/userdata.img,pagesize=512,extrasize=0
emulator: registered 'boot-properties' qemud service
emulator: Adding …Run Code Online (Sandbox Code Playgroud) 我正在使用 AOSP 9 和 11 构建一个基于 android 的嵌入式系统。
对于几个审查任务,我需要用于构建和/或安装在最终映像中的所有软件包、库等的列表及其版本。
有没有一种好的、可靠的方法来为 AOSP 生成这个 SBOM?