Android Q预编译静态库实例

如果厂商提供了一个静态库,如何编译进系统呢,可参考

external/demo/Android.bp

cc_prebuilt_library_static {
    name: "hub",
    compile_multilib: "both",
    multilib: {
        lib32: {
            srcs: ["hub.a"],
        },
        lib64: {
            srcs: ["hub.a"],
        },
    },
}

cc_binary {
    name: "demo",
    srcs: ["demo.c"],
	static_libs: [
        "hub",
    ],
    cflags: [
	"-Werror",
	"-Wno-unused-parameter",
	"-Wno-unused-variable",
	],
}

external/demo/demo.c

#include <stdio.h>
extern int sub(int a,int b);
int main(int argc, char *argv[])
{
	printf("ret=%d\n",sub(100,0));
	return 0;
}

如何生成hub.a

external/demo/hub.c

int sub(int a,int b){
	return a-b;
}

 运行如下命令生成hub.a

./prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-gcc external/demo/hub.c -o external/demo/hub.o -c
./prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-ar rcs external/demo/hub.a external/demo/hub.o

预编译可执行文件

cc_prebuilt_binary {
        name: "etf",
        vendor: true,
        srcs: ["etf"],
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值