问题标签 [android-kernel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 监控连接到android热点的每个设备的数据使用情况
工匠们......我正在尝试创建一个应用程序,可以监控连接到 Android 移动热点的每个设备的数据使用情况。从我所见,TrafficStats 类只能返回每个 UID(应用程序)的使用情况,但是我想查看每个连接的 Wi-Fi 设备的使用情况。有没有人弄清楚这一点或有任何想法可以尝试?也许我需要直接与内核交谈?
android - 如何获取可执行文件的属性 C
我正在编写一个简短的 C 程序,它在 Android 环境中运行。我想知道是否有一个我可以引用的对象,它有一个指向同一个可执行文件的指针。我认为它有点像Java中的“this”指针。我的目标是获取有关他可执行文件本身的信息。理想情况下,我喜欢在内存中拥有可执行文件的起始地址和偏移量。我想知道本机 C 代码以及我以后可能开发的 apk 的答案。如果您知道我需要使用的功能,请告诉我。我可以完全控制构建和目标环境。那就是我可以在目标上获得root访问权限。我还可以将应用程序放在要在手机上刷新的图像上,而不是通过 IDE 将其推送到 /data 分区。
我猜在C中,我可以使用当前指针吗?
android - Android Linux 内核中的虚拟内存布局
我试图找出内存不足问题的原因。我有一个内核。我正在尝试构建(信息:从飞思卡尔 SabreSD 到 Solidrun Hummingboard,版本 3.10,android 发行版)。我的系统有512MB物理内存。
我的内核使用这个虚拟内存布局启动:
使用以下虚拟内存布局启动工作的3.0.35 内核时:
据我了解,vmalloc 区域太大,lowmem 匹配物理可用内存。我的假设对吗?我应该看什么样的配置?
我试图了解我应该对内核或引导加载程序进行哪些配置更改以修改此内存映射(如果我猜它真的是错误的)。内核忽略命令行vmalloc参数(目前默认是400M,可能是因为至少配置了这么大)。内存布局是在 KConfig 中的某处配置还是在 Uboot 中初始化?你能帮我找出正确的地方吗?
编辑
将 CONFIG_VMSPLIT_2G 更改为 CONFIG_VMSPLIT_3G 后,我可以看到以下内存映射:
但是我在初始化中仍然有一个“内存不足”异常。
这是启动日志的详细信息:
知道我内存不足的原因吗?
android - 在 300 MHZ - 400 MHZ 范围内传输
现代 Android 手机 (Galaxy S5+) 中是否有任何硬件可以在 300-400 MHZ 范围内传输?
如果是这样,这需要破解无线电 ROM 还是有一种简单的方法可以做到这一点?
linux - ARM板的交叉编译?
我试图将一个简单的 hello 程序交叉编译为独立的应用程序,它将在 arm 板上作为二进制文件运行,但是在 arm 板上运行 hello 二进制文件时遇到了问题。
以下是我遵循的步骤: -
使 ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-你好
现在,当我使用文件命令检查 hello 的文件类型时,hello已成功构建:-
$file hello hello:ELF 32 位 LSB 可执行文件,ARM,版本 1 (SYSV),静态链接,适用于 GNU/Linux 2.6.31,BuildID[sha1]=0x68edccf6dba1057774e3d7853914578e53889a75,未剥离
当我在 /data 文件夹下的 Android Linux 手机中推送此二进制文件时
1-亚行推你好/数据
2-chmod 777 /数据/你好
3- ./hello (但这里 hello 无法运行)
有人可以提示我在手机上编译或运行二进制文件时犯了什么错误。
我在运行程序时收到奇怪的错误消息,如下所示:-
root@xxx:/data # ./你好
。/你好
打开失败:没有这样的文件或目录
1|root@xxx:/data #你好
你好
你好[1]:语法错误:'☺üê4┤¡♣☻♣4'意外
1|root@xxx:/数据#
c - 通过 netlink 套接字成功但循环向用户空间模块发送 netfilter 钩子消息
我是 Android 内核空间编程的初学者。在我的模块中,内核和用户空间模块通过 netlink 套接字成功通信,并且 netfilter 钩子也可以工作。但是当我通过 netlink 套接字向用户空间模块发送 netfilter 消息时,它有一个大错误!Netlink 通过 socket 传输消息,但是 netfilter 再次钩住传输,所以它有一个循环,永远不会结束!我该如何解决这个问题,或者如何忽略 netlink 套接字并连接另一个网络套接字?内核版本是android-goldfish 3.4。(我的英文不好,希望清楚明白。谢谢!)
内核模块:
用户空间程序:
android - 从源代码在 Android 上运行修改后的 Goldfish 内核
我正在尝试通过使用我的一些配置更改加载金鱼内核来从 Android 源运行模拟器。虽然我发现了很多关于此的问题,但找不到我的答案。1.我下载了android源码。2. 我也成功构建了我的金鱼内核。现在我可以在 /goldfish/arch/arm/boot 文件夹中看到 zImage。在此之后,我尝试通过参考很多类似的问题来运行这个模拟器。 从源代码 - 模拟器和 AVD构建 Android ,从源代码构建 Android 后运行模拟器,如何编译 android goldfish 3.4 内核并在模拟器上运行。但不幸的是没有解决我的问题。当我尝试使用以下命令运行模拟器时:
我收到未找到 AVD 的错误。然后我找到了这个博客,https: //yaapb.wordpress.com/2012/09/22/build-a-custom-android-emulator-image/ 它说首先通过以下命令从源代码树制作模拟器:
然后用我修改过的内核运行模拟器,我需要运行:
虽然我正在尝试这样做,但使用 make 命令创建模拟器的过程需要数小时。到现在为止的 90 分钟内达到 7%。所以同时我想知道是否有人可以告诉我要使用我的内核运行模拟器,我是否需要首先从源代码创建一个模拟器?另外,我在 android 源代码树中找不到 system.img、ramdisk.img 文件。创建模拟器时是正常的还是我得到它们?
**
编辑
** 我也想知道我是否可以在没有 make -j4 的情况下运行模拟器。Android 源代码树还包括 SDK。我可以从 SDK 运行模拟器吗?如果是,如何?谷歌官方文档说从 sdk 中的 /tools 文件夹运行以下命令。但是sdk文件夹中没有tools文件夹。
linux-kernel - 关于 android-kernel 中的 msgrcv?
我正在运行一个测试套件来测试 android 内核中的 IPC 相关功能。当我测试 msgrcv 系统调用时,它返回错误函数未实现。
那么在android-kernel中没有实现msgrcv()系统调用是否真的如此,如果是这样,为什么以及android内核中的哪个系统调用服务于msgrcv()系统调用的目的。
我得到了相关的声明,它说 System V IPC(包括消息队列)没有在 Bionic 上实现。但不确定这是什么意思。
更新:我能够在 android 内核中找到 msgrcv 的定义,但不确定为什么它返回错误函数未实现。
下面的代码片段:
如果信息似乎不完整或含糊不清,请发表评论,不胜感激。
android - 获取分离的移动网络接口(2G -3G - 4G)的数据使用量(以字节为单位)
有没有办法以字节为单位获取移动网络接口的数据流量(2G - 3G - 4G)。
TrafficStats为我提供所有移动网络接口的总使用情况,每个网络接口(3G - 2G - 4G)中使用的流量之间没有分离
我搜索了整个网络,我没有找到任何相关的东西。