V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zinwalin
V2EX  ›  Android

全志开发板如何添加二进制到镜像中的/system/bin 下?

  •  
  •   zinwalin · 2022-07-06 11:36:36 +08:00 · 8787 次点击
    这是一个创建于 905 天前的主题,其中的信息可能已经有所发展或是发生改变。

    系统是全志安卓 10

    在 AOSP/android/development 下面创建了 hello 目录,目录下添加 Android.mk 和 hello.c, 模块名是 helloworld, 在 android 根目录下执行 make helloworld , 编译正常,adb push 到设备上后,通过 adb shell 里执行 helloworld ,一切正常。 当在 App 里通过 Runtime.getRuntime().exec()来执行 helloworld 就出现了下面的错误,网上搜索是 SELinux 的问题,有没有资料可以分享下如何集成自己的程序?

    07-06 14:36:34.610 4382 4382 I eight.tomu.home: type=1400 audit(0.0:294): avc: denied { execute_no_trans } for path="/system/bin/helloworld" dev="dm-3" ino=60 scontext=u:r:zygote:s0 tcontext=u:object_r:system_file:s0 tclass=file permissive=1 07-06 14:36:34.565 3649 3649 I ExecuteCmd: executeCmd: helloworld 07-06 14:36:35.077 3649 3649 D MainActivity: Home:: helloworld true

    5 条回复    2022-07-10 16:25:06 +08:00
    FranzKafka95
        1
    FranzKafka95  
       2022-07-06 12:21:39 +08:00 via Android
    先通过 getenforce 命令看看是否开启 SELINUX ,如果开启了设置为 disable 或者 permissive 就行,从这个打印来看确实是 SElinux 问题
    FranzKafka95
        2
    FranzKafka95  
       2022-07-06 12:22:55 +08:00 via Android
    如果你想在开启 Selinux 的情况下集成自己的应用,要修改编译配置文件,添加对应的 te 配置,最好还要通过单独的 rc 文件来启动
    zinwalin
        3
    zinwalin  
    OP
       2022-07-06 20:58:12 +08:00
    @FranzKafka95 太感谢了。
    zinwalin
        4
    zinwalin  
    OP
       2022-07-06 21:01:20 +08:00
    @FranzKafka95 加了相应的 te 配置,现在运行时没有报错了,但是有个奇怪的现象。 自家的 System App(比如 Home Launcher)里面通过 Runtime.getRuntime().exec("$command\n")来调用这个二进制文件时,无法正常执行(没有写入文件的实际操作),但是在 adb shell 下是可以正常执行的。

    备注: 此二进制文件的功能是把一个文件写入覆盖到某个分区,从某个文件拷贝数据,然后写入到此分区所在的设备块上。
    zinwalin
        5
    zinwalin  
    OP
       2022-07-10 16:25:06 +08:00
    @FranzKafka95 我最后通过 init.xxx.rc 文件里添加设备的权限解决了此问题。 加载分区的方式没解决,不过总算可以动态更新 boot logo 了,感谢。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5466 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 08:29 · PVG 16:29 · LAX 00:29 · JFK 03:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.