Android增加C语言app方法

Android版本:Android 13

增加一个app分为三个部分:

一、编写代码

二、编译

三、测试效果

下面详细介绍各个部分。

一、编写代码

1. 在 SD-HQX4.5.5.0/lagvm/LINUX/android/vendor/xxxxxx/hardware/interfaces/ 下新增一个文件夹,例如hello_app

2. 在hello_app下,新建app代码文件,例如hello.c

#include <stdio.h>

/***********主程序***********/
int main(int argc, char* argv[])
{
    printf("Hello Android!\n");

    return 0;
}

3. 在hello_app下,新建Android.bp文件,内容如下:

cc_binary {
    name: "hello",
    proprietary: true,
    relative_install_path: "hw",
    cflags: ["-DTARGET_ANDROID", "-DDEBUG",  "-Wno-error=date-time"],
    product_variables: {
        debuggable: {
            cflags: [
                "-DTARGET_BUILD_USERDEBUG",
            ],
            cppflags: [
                "-DTARGET_BUILD_USERDEBUG",
            ],
        },
        eng: {
            cflags: [
                "-DTARGET_BUILD_USERDEBUG",
            ],
            cppflags: [
                "-DTARGET_BUILD_USERDEBUG",
            ],
        },
	},

    include_dirs: [
    ],
    srcs: [
            "hello.c",
    ],

    shared_libs: [
    ],
    vendor:true,
}

二、编译

1. cd SD-HQX4.5.5.0/lagvm/LINUX/android

2. source build/envsetup.sh

3. lunch (根据实际情况选择)

4. make xxxxx  (xxxxx是Android.bp中name的值)

三、测试效果

这一步可以使用烧写的方式更新固件,也可以只把第二步编译出来的可执行文件push到设备中测试,烧写的方式不需要特殊说明,以下介绍push可执行文件到设备的方式:

1. adb root    (获取root权限)

2. adb remount    (重新挂载分区,为了能够push文件)

3. adb push out/target/product/msmnile_gvmq/vendor/bin/hw/hello /data

    (out/target/product/xxxxxxxx/vendor/bin/hw/hello是编译出来的可执行文件;/data是设备的一个目录,把可执行文件hello push到/data目录;也可以把/data换成其他目录,只要可以push文件,可以执行app即可)

4. adb shell (登录设备)

5. su

6. cd /data

7. chmod 777 ./hello

8. ./hello    (执行hello,看效果)

参考文章:【Android】Android.bp实例之编译可执行程序_android.bp将py文件编译成bin文件-CSDN博客

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值