Android Studio使用c++编写

效果图

1、创建一个c++支持的项目。

2、创建c++类

这里根据实际需要添加相应的文件。

如添加一个c++类的引导窗口中填写类名称即可。

完成后,这里就根据实现设计进行c++的功能函数开发了。

3、修改cmake文件

在cmake文件中,添加你的文件名称。

当然还一些情况是需要增加模块依赖的,这个需要好好研究了。

参考官方文档:

向您的项目添加 C 和 C++ 代码 | Android Studio | Android Developers

4、添加声明关联函数

找到MainActivity文件,添加类型的调用声明。

5、实现相关函数

利用智能补正工具,在c++写函数定义体。

在c++文件中,编写相关调用。

cpp 复制代码
extern "C" JNIEXPORT jstring JNICALL
Java_com_example_myapplication_MainActivity_stringFromJNI(
        JNIEnv* env,
        jobject /* this */) {
    std::string hello = "Hello from 123456 ";
    time_t now= time(nullptr);
    tm *ltm= localtime(&now);
    int year=1900+ltm->tm_year;
    int mon=ltm->tm_mon+1;
    int day=ltm->tm_mday;
    int hours=ltm->tm_hour;
    int min=ltm->tm_min;
    int sex=ltm->tm_sec;
    char* ss=new char [26];
    std::sprintf(ss, "%4d-%02d-%02d %02d:%02d:%02d",
                 year, mon,day,hours,min,sex);

    std::string  news(ss);
    hello+=news;
    hello += "-DingZhu";
    delete[] ss;
    return env->NewStringUTF(hello.c_str());
}

当然,这个只是调用的入口,在这里编写调用你实能的功能。

相关推荐
方白羽16 小时前
Android Gradle 缓存与文件目录深度解析
android·gradle·android studio
曲幽20 小时前
Termux里的二进制和脚本,到底怎么运行才不踩坑?Termux-service 保活妙招!
android·termux·nohup·services·wake-lock
plainGeekDev21 小时前
单例模式 → object 声明
android·java·kotlin
程序员陆业聪21 小时前
读者点单·03|Compose 与传统 View 混用的 12 个真实坑
android
程序员陆业聪21 小时前
读者点单·02|Android 启动优化实战:Trace 抓取→Application 编排→冷启动全流程拆解
android
Coffeeee21 小时前
帮你快速理解AI Agent之我想招个Android实习生
android·人工智能·agent
恋猫de小郭1 天前
苹果 AirPods 协议,Android 也可以使用完整版 AirPods 能力
android·前端·flutter
黄林晴1 天前
告别无效重建:Gradle 9.6.0 解决 CI 构建缓存失效痛点告别无效重建:Gradle 9.6.0 解决 CI 建筑缓存失效痛点
android·gradle
张风捷特烈1 天前
Flutter 类库大揭秘#01 | path_provider架构与设计
android·flutter
_阿南_1 天前
Android文件读写和分享总结
android