Articles of Android

Android:不能执行通过Linux部署在同一部手机上的文件

root@hammerhead:/data/local # ./HelloWorld tmp-mksh: ./HelloWorld: No such file or directory 你好! 我在Linux Deploy上使用gcc编译,据我了解,Ubuntu和chroots下载到环境中。 该文件在这个chroot环境中运行良好。 据我了解,这个错误是在文件不匹配机器的架构时给出的。 但它运行在同一台机器上! 有谁知道为什么这可能会发生? 文件权限,所有权和上下文: -rwxrwxrwx root root u:object_r:system_data_file:s0 HelloWorld Id输出: uid=0(root) gid=0(root) context=u:r:init:s0 使用/ system / bin / sh /system/bin/sh: ./Helloworld: No such file or directory 试图执行一个不存在的文件: /system/bin/sh: ./test: not found

/ arm64 / Image到zImage或boot.img

大家好我一直想弄清楚如何使我的android内核zImage或boot.img。 我试图找出没有运气。 我被告知zImage不可能用于我的设备,因为它是一个arm64内核,但我想我会再问一次。 如果是这样的话,我试图让boot.img编译,所以我可以fastboot它。 这是LG的v10。 谢谢, 扎克

用input模拟多点触摸事件

大家好,感谢您的阅读。 我正在尝试使用uinput接口来执行一些操作。 最终,这些数据将通过UART串行连接进行解释。 我可以打开,closures等input,它可以很好地为单点触摸。 EV_KEY BTN_TOUCH 1 EV_ABS ABS_X 400 EV_ABS ABS_Y 400 EV_SYN SYN_REPORT 0 执行触摸。 滑动,双击,与ABS_X和ABS_Y正常工作。 然后,我想实现多点触控支持,所以我实现了ABS_MT_POSITION_X,ABS_MT_POSITION_Y,ABS_MT_TRACKING_ID,ABS_MT_SLOT。 我设法做了一个触摸和滑动: EV_ABS ABS_MT_TRACKING_ID 20 EV_KEY BTN_TOUCH 1 EV_ABS ABS_MT_POSITION_X 425 EV_ABS ABS_MT_POSITION_Y 400 EV_SYN SYN_REPORT 0 但是…我不能使用插槽。 我试图执行捏(dezoomer)。 EV_ABS ABS_MT_SLOT 0 EV_ABS ABS_MT_TRACKING_ID 20 EV_KEY BTN_TOUCH 1 EV_ABS ABS_MT_POSITION_X 425 EV_ABS ABS_MT_POSITION_Y 400 EV_ABS ABS_MT_SLOT 1 […]

在Linux中拦截文件打开事件

假设我们有一个可能dlopen()某个第三方库的过程。 这个库可以在用户只能写访问的文件上执行open("write_only_logfile", O_WRONLY) 。 如果这个库试图打开一个文件,我们需要有一个通知的能力,所以稍后我们可以dup()返回描述符和redirect输出。 有几个限制使得拦截变得更困难: LD_PRELOAD被禁止 – 没有办法钩open() inotify(7)不起作用,因为用户对"write_only_logfile"没有读取权限,它由pipe理员拥有 我们无法访问库源,因此无法修改它 "write_only_logfile"在库中是硬编码的,所以我们不能通过别名来执行redirect 我想知道Linux是否有一个有效的方法来帮助在这种情况下。 尤其是考虑到进程可能经常open()杂项文件的事实。 PS为了避免混淆和更好理解 – 这是一个常规的Android应用程序加载JVM。 如果应用程序挂起(所谓的ANR) – 系统发送SIGQUIT 。 信号通过open() s /data/anr/traces.txt专用线程接收, /data/anr/traces.txt其写入JVM状态。 这些数据对于debugging非常有用。 但是,由于安全原因,应用程序无法直接读取该文件(所有应用程序都将其写入,因此可能会有些敏感)。 无论如何,我相信拦截我的stream程写入内容是绝对公平的。 PSS在最坏的情况下,可以findJVM库映像( libart.so )并手动open()跳转槽。 但听起来不太好。

binutils-gold是否支持arm / Android?

我试图用binutils-gold ldreplace默认的arm-eabi-ld ld ,但是在链接过程中我得到了 (…./*.o) requires unsupported dynamic reloc; recompile with -fPIC LOCAL_CFLAGS := -fPIC Android.mk中的LOCAL_CFLAGS := -fPIC对此帮助不大。 有没有机会使用黄金链接器?

如何确定和设置android.process.media组?

Android有一个系统媒体服务,其进程名称是android.process.media 。 它有sharedUserId=android.media ,进程本身的id就是app_xx 。 在没有shell命令groups的情况下, useradd和适当的functionid我不知道如何得到它。

build立ext4和fat32之间的链接

它是用在Android手机。 因为我的ROM足够大(8G左右),而且我的SD卡已经满了各种文件,所以我想把存储在ROM中的大文件连接到SD卡上,以节省SDCard的宝藏空间( 大文件无法识别通过一个软件,除了它在/ SD卡分区 )首先我要做一个testing来validation方法:尝试链接文件/ data / test.mp3到/sdcard/test_fat32.mp3,然后在terminal(#su),我试图做一个象这样的符号链接: ln -s /data/test.mp3 /sdcard/test_fat32.mp3 但失败了: ln: /sdcard/test_fat32.mp3: Operation not permitted 谷歌search了一段时间,我发现我不能创build与FAT32的符号链接,我不想格式化SD卡到ext4 ,因为我想做出这样的应用程序与我的朋友分享。 你当然不能要求每个人的格式,更重要的是,也许很多应用程序不能识别ext4文件。 有没有人有一个好主意来实现它? 任何帮助赞赏!

包括jar在ant编译android – 命令行linux

我正在尝试在linux命令行上的android应用程序中使用jar文件。 我读过: 在ant编译Android包括.jar这是一样的事情,但从来没有得到一个工作的答案。 试过这个: 如何从命令行添加外部jar库到一个android项目,但它没有工作,仍然给出了相同的错误信息。 错误是: -compile: [javac] Compiling 4 source files to /home/bianca/Documents/sem12012/FIT3140 /code/jackson-example/bin/classes [javac] messagemain.java:4: package org.codehaus.jackson.map does not exist [javac] import org.codehaus.jackson.map.ObjectMapper; [javac] ^ [javac] messagemain.java:21: cannot find symbol [javac] symbol : class ObjectMapper [javac] location: class messagemain [javac] ObjectMapper mapper = new ObjectMapper(); [javac] ^ [javac] messagemain.java:21: cannot find symbol [javac] […]

meego和android堆栈有什么不同?

MeeGo和Android的堆栈是否在Linux内核的用户空间中共享任何相关的库? 看看Android堆栈,我想MeeGo共享Linux内核的所有组件,包括: 显示驱动 闪存驱动器 IPC驱动程序 USB驱动程序 键盘驱动程序 audio驱动 能源pipe理 怎么样: WiFi驱动程序 相机驱动 蓝牙驱动 我已经从CyanogenMod阅读,最试图让CM运行在不可思议的设备似乎是WiFi,相机和蓝牙抱怨。 这是否意味着这是一个不是由MeeGo共享的Android特定部分,而MeeGo是另一个基于Linux的平台? 那么Android Stack的其他部分呢? 我猜测所有的应用程序框架部分都是特定于Android的,还有大部分的库,比如Media Framework等等。

如何在Android平台上检查init.rc(init进程)的输出?

当发生某些事件时,我想转储堆栈,所以我写了一个脚本到init.rc ,如下所示。 然后我使用setprop dump_stack 0和setprop dump_stack 1来assembly它,但是在我的控制台中没有输出? on property:dump_stack=1 exec /system/bin/cat /proc/100/stack # pid = 100 我已经添加了一些日志在system \ core \ init \ builitins.c,它说代码是工作(retstatus是0)。 即使我将脚本更改为“exec / system / bin / cat / proc / 100 / stack> / data / temp”,它仍然不起作用。 那么,init.rc(init进程)的输出在哪里呢? PS。 我写脚本到init.rc的原因是“Permission”。 init进程是root的,所以它可以转储其他进程的堆栈。 而且,语法是否正确? 我用http://www.kandroid.org/online-pdk/guide/bring_up.html中的Android Init Language编写“exec / system / bin / cat / […]