Articles of android source

Android 4.0内核源代码?

我在哪里可以获得Android 4.0(Ice Cream Sandwich) 内核源代码? 虽然这可能是一些人之前提出过的愚蠢问题,但我似乎无法在任何地方find合适的答案,因为: 谷歌决定真正有用,并将android.kernel.org重定向到http://source.android.com/source/downloading.html ,其中包括除内核之外的Android的每一部分。 我不明白这背后的逻辑。 git clone https://android.googlesource.com/kernel/common.git做了一些奇怪的事情并创建了一个巨大的(600 MB +). .git文件夹而没有创建源树。 关于git repo, 我没有给出两个问题, 我只需要源代码树 。 GitHub上的所有内核分支都非常过时。

如何定制AOSP内部版本号?

我正在建设AOSP,v4.4.2。 我想指定“Build number”字符串的一部分(根据Settings – > About tablet)。 我知道可以使用CONFIG_LOCALVERSION defconfig值为内核完成此操作 。 但我想改变“内部版本号”,而不是“内核版本”(我能够成功完成)。 目前,我的AOSP构建的相关部分是这样的: # Source build variables . build/envsetup.sh # Specify the build target: # * user -> limited access; suited for production (no ADB) # * userdebug -> like “user” but with root access and debuggability; preferred for debugging # * eng -> development configuration […]

Fastboot flash system.img错误

当我尝试通过fastboot system.img(从我的自定义AOSP版本)闪存到Sony Xperia Z3时,我收到以下错误: # fastboot flash system system.img sending ‘system’ (584106 KB)… OKAY [ 18.294s] writing ‘system’… FAILED (remote: size too large) finished. total time: 18.297s Z3有大约2GB的系统分区,我不知道为什么闪存失败。

如何在真实设备上调试Android本机代码

我在Android中的媒体后端(主要是Stagefrightplayer)遇到了一些麻烦,我想了解它为什么会抛出错误。 错误通常是设备特定的,因此在仿真器上进行调试是不够的。 例: I/AwesomePlayer( 147): mConnectingDataSource->connect() returned -1004 V/MediaPlayerService( 147): [332] notify (0x272830, 100, 1, -1004) E/MediaPlayer(24881): error (1, -1004) E/MediaPlayer(24881): Error (1,-1004) W/PlayerListener(24881): Received error: what = 1, extra = -1004 例2: E/MediaPlayer( 941): error (1, -2147483648) 我也让玩家完全开玩笑并吐出了痕迹.txt。 有没有办法调试正在发生的事情,就像我调试Java代码一样? 谢谢。

Android构建错误:ro.build.fingerprint不能超过91个字节

我正在从android源代码构建一个android rom但是大约5分钟后就会出现这个错误。 error: ro.build.fingerprint cannot exceed 91 bytes: Android/mini_emulator_x86/mini-emulator-x86:5.0.555/AOSP/username02280306:userdebug/test-keys (97) make: *** [out/target/product/mini-emulator-x86/system/build.prop] Error 1 make: *** Deleting file `out/target/product/mini-emulator-x86/system/build.prop’ make: *** Waiting for unfinished jobs…. 如何增加ro.build.fingerprint大小限制? 另外,我正在Mac上构建。

在ICS源中寻找DiskLruCache实现

我正在寻找ICS源(libcore / luni / src / main / java / libcore / io / DiskLruCache.java)中的DiskLruCache实现,如Caching Bitmaps android开发人员指南中所述。 我试图下载整个Android源代码 ,但它花了太多时间(> 5小时仍然继续), 我也尝试使用JakeWharton的DiskLruCache实现 ,但我不确定它是否足够强大,因为它在ICS源中的实现。 请为我建议一个替代下载链接。 或者提出自己的想法.. 谢谢..

我应该如何分叉AOSP应用程序?

背景 我正在研究拨号器应用程序。 我愿意使应用程序opensource。 我努力分叉AOSP拨号器应用程序( 链接 )。 但是,我之前没有使用过AOSP应用程序的经验。 几个小时后,我发现它非常困难。 方法尝试 我正在使用Android Studio工作。 我已将AOSP组件的资源和源代码复制为我项目中的模块。 依赖关系可以解决。 主要困难 依赖性过多。 从make文件( 链接 ),拨号器依赖于ContactsCommon( 链接 ),InCallUI( 链接 ),android-common( 链接 ),vcard( 链接 )等。我尝试通过导入这些模块解决依赖关系。 然而,出现了更多的问题。 只有权限才能被授予系统应用程序。 有些方法只能由系统应用程序看到。 它们对用户应用程序是隐藏的。 具有重复名称和产品属性的字符串资源。 我已经读过它们应该在预编译时处理。 但是,是否可以使用Gradle处理它们? 目标 我的目标是发布类似于ExDialer( 链接 )的增强型拨号器应用程序。 我没有制作另一台拨号器来替换自定义ROM中的原始拨号器。 因此,根本不需要许多依赖性和权限。 我只是不知道如何分离AOSP应用程序的“系统”部分和“用户”部分。 提议的方法 我很可能会复制和修改资源和源代码,而不是分支原始的AOSP拨号器。 他们是否有更好的方法来分叉AOSP应用程序,从而重用现有资源和源代码?

在Android上通过libhardware使用GPS

在AOSP中有libhardare库 ,它包含GPS驱动程序的接口 – gps.h。 使用此界面,您可以在低级别(C ++)上访问GPS驱动程序,打开GPS并获取设备的当前位置。 在互联网上有几个项目,使用这个GPS接口。 例如, 这个由kanru创建 。 此代码几乎完美 – 我可以连接到GPS驱动程序并获得正确的位置。 但我遇到了一个问题。 如果您使用kanru项目打开GPS驱动程序并在一段时间后通过标准方法(在GUI中)打开GPS,那么C ++程序将突然停止从GPS驱动程序接收信息。 同时在GUI中,您可以看到GPS已开启,您可以启动Google地图或任何其他GPS相关应用程序并获取坐标。 我尝试通过hw_device_t指针重启GpsInterface ,关闭和打开GPS驱动程序,甚至重启整个C ++可执行文件 – 没有效果。 重新启动程序后GPS驱动程序将状态更改为GPS_STATUS_ENGINE_ON然后 – 静音。 我还试图改变行动的顺序。 我在GUI中打开了GPS,启动了Google地图并等了几分钟才到达我的位置。 然后我开始了我的C ++程序。 它成功连接到GPS驱动程序并开始获取位置数据。 同时GUI与GPS驱动器“丢失”连接。 我尝试在Android 4.2和5.1的几个设备上测试我的程序,并且在大多数设备上遇到同样的问题。 只有在配备Android 5.1的三星S6上,我的程序才能在所有条件下都能完美运行。 在某些设备上似乎配置了GPS驱动程序,以便它只能与一个数据消费者一起使用。 也许有人遇到过类似的问题?

禁用硬件密钥android rom

我想在我的自定义AOSP ROM中禁用Home,Menu和Back按钮。 我在互联网上搜索过,看到我可以在out / target / product / generic / system / usr / keylayout中find的关键布局文件中成功构建后禁用按钮。 我正在编辑的文件是:Generic.kl现在我已经注释掉了这些按钮: #键139 MENU WAKE_DROPPED #键158返回WAKE_DROPPED #键172 HOME 然后我重新启动了模拟器,按钮仍然有效…有什么我想念的吗? 谢谢,斯特凡

如何识别Android N的网络安全配置代码中使用的加密源?

Android N有一个网络安全配置系统,用于证书锁定,自签名证书支持(包括仅调试版本)等。它非常灵活。 我试图向后端移动它,以防谷歌没有,因为在Android 6.0和旧设备上使用这些function会很好。 网络安全配置支持的源代码很容易find,其中该链接指向android-n-preview-3标记。 该消息来源称为conscrypt, 被称为“使用OpenSSL的Java安全提供程序”。 但是, conscrypt代码的android-n-preview-3标签版本与网络安全配置代码使用的内容不一致 。 值得注意的是,网络安全配置代码依赖于TrustManagerImpl ,并且conscrypt代码的android-n-preview-3 -tagged版本没有该类。 早期的版本。 我对AOSP代码不够专业,无法确定网络安全配置代码在其密码实现中的位置,因此我可以确保我指的是该代码的相同版本。 有任何想法吗?