`
daojin
  • 浏览: 690306 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Android native 开发总结

 
阅读更多
Android native 开发中的 C++技术总结


1. 编译时期出现undefined reference to xxx.h
CMakeLists.txt 中 include_directories 行没有加入对应.h文件
2. 编译时期出现undefined implementation
CMakeLists.txt 中 如果函数的实现是通过
target_link_libraries 的方式引入的,则为动态库函数, 则需要导出符号表。
target_link_libraries(outlib, inlib1, inlib2)//No lib pre
例如以上行,如果函数的实现是在inlib1中,则需要在函数前面添加:
   __attribute__((visibility("default")))
这样的话,编译时期就不会出错。
3. 运行时出现
No implementation found for void com.megvii.humansdk.ToolsAPI.test
说明是jni函数没有找到,这个时候需要加载对应的jni库。

static {
    System.loadLibrary("XXXXX-jni-1.0");
}
   标准的添加方法如上所示。
4. Android debug native code方法如下图。



但是出现如下警告,大概意思是说,编译时候使用的flag无法支持调试模式:
Native library MegviiHum-Debug-arm64-v8a is using compiler flags which may be debug incompatible:
-flto: Combining -flto with -g is currently experimental and expected to produce unexpected results
5. 意思是说使用了-flto标记和 –g 同时使用会导致异常出错,因此把-flto去掉后再次尝试。
-g 经过查证,是用来生成调试信息的
可以参照如下
http://www.cppblog.com/SEMAN/archive/2005/11/30/1440.html
也可以参照官方说法
https://gcc.gnu.org/onlinedocs/gcc-7.2.0/gcc/Debugging-Options.html#Debugging-Options

flto 可以参照如下
https://gcc.gnu.org/wiki/LinkTimeOptimization
也可以参照官方网站
https://gcc.gnu.org/onlinedocs/gcc-7.2.0/gcc/Optimize-Options.html#Optimize-Options



  • 大小: 105.4 KB
分享到:
评论

相关推荐

    Android Native Goodies PRO 1.3.0

    总结来说,"Android Native Goodies PRO 1.3.0"是一款全面的Android开发工具,它将常用功能整合并优化,使得开发者能够更高效地构建功能丰富且用户体验优秀的应用程序。无论是对于独立开发者还是大型团队,这款工具...

    android native实现系统服务

    总结,实现Android的Native系统服务涉及到了Java层与C/C++层的交互,以及对Android服务生命周期的理解。通过JNI技术,可以在性能敏感的部分使用C/C++代码,同时保持Java层的易维护性。在实际开发中,还需要考虑服务...

    Android Native TCP C语言实现Server创建和Client连接

    总结,Android Native TCP通信涉及了底层网络编程、JNI接口调用、多线程以及Android应用的生命周期管理等多个方面。理解并掌握这些知识,对于开发高效、安全的Android应用至关重要。在实践过程中,需要不断调试和...

    高通平台android开发总结

    3. 应用层开发:在高通平台上,开发者需要掌握Java和C/C++的混合编程,因为一些性能敏感的组件可能需要在Native层实现。同时,针对高通硬件的特定API调用和优化也非常重要。 4. 适配与调试:由于不同高通芯片型号...

    native-service-master.zip_Android Native_android_android service

    在开发和调试Native Service时,使用Android的Logcat工具可以帮助跟踪和定位问题。C/C++代码可以通过`__android_log_print()`函数输出日志,以便在Logcat中查看。 **10. 性能优化** 由于Native Service运行在原生...

    android NDK 开发总结

    标题中提到的“android NDK 开发总结”涉及的知识点主要包括: 1. NDK(Native Development Kit)的定义:NDK是Android平台的一个开发工具包,它允许开发者使用C或C++语言来编写应用的某些部分。这些部分通常被称为...

    JS调用Android Native API

    总结来说,JS调用Android Native API是通过Webview组件和`addJavascriptInterface`方法实现的,它使得开发者能够利用JavaScript的便利性和Android的原生功能,构建出功能丰富的混合应用。这种方式不仅简化了开发流程...

    React Native 开发指南_中文扫描完整版

    3.4 开发天气应用 27 3.5 小结 40 第4章 移动应用组件 42 4.1 类比HTML 元素与原生组件 42 4.2 处理触摸和手势 46 4.3 使用结构化组件 58 4.4 平台特定组件 69 4.5 小结 74 第5章 样式 75 5.1 声明和操作...

    Android平台Qt开发入门教程.pdf

    Android平台native开发是指使用C/C++语言开发Android应用程序,而不使用Java语言。这种方法需要使用系统非公开的API,即android源代码,而非NDK提供的头文件。 android-lighthouse 项目 android-lighthouse是一...

    android_app_NativeActivity.rar_NativeActivity_android

    总结起来,NativeActivity是Android平台提供的一种原生应用开发方式,它涉及到C/C++编程、JNI接口、输入事件处理和Android系统服务的交互。理解和掌握NativeActivity的使用,对于进行高性能、低延迟的Android应用...

    Android-androidjs与native交互相关内容

    在Android应用开发中,JavaScript(通常通过HTML5)与原生代码(Native)的交互是构建混合应用程序的关键技术。这种交互使得开发者可以利用Web技术来实现界面,同时利用Android原生功能,提升用户体验和性能。本文将...

    Android开发总结笔记

    这篇总结笔记涵盖了Android开发的多个关键方面,旨在帮助开发者提升技能,理解Android应用的构建过程。以下是一些主要知识点的详细阐述: 1. **Android SDK**:Android软件开发工具包是开发Android应用的基础,包括...

    Android Studio3.0开发JNI流程------在Android程序中添加自己的类的native方法

    总结,通过以上步骤,你可以在Android Studio 3.0中为自定义Java类添加native方法,并为不同CPU架构生成多个SO库。这使得你的应用能够充分利用C/C++的性能优势,同时保持Java的跨平台特性。在实际开发中,注意处理好...

    Android安卓安全加固反调试检测手段(java层+native层)(附代码实现).pdf

    在Android应用开发中,java层的代码如果被逆向分析,将变得一览无遗。为了保护代码不被轻易分析,可以使用代码混淆技术。Android开发中常用的代码混淆工具是Proguard。Proguard不仅可以压缩代码,还可以优化、混淆和...

    android增量更新native方法c实现

    总结来说,通过C语言在JNI层实现Android增量更新,能够有效提升更新速度,减少用户的数据流量,同时利用原生代码的高效性能。但这需要开发者具备一定的原生开发经验,并且要处理好跨语言交互的复杂性。

    react native android 命令打包

    ### React Native Android 打包命令详解 #### 一、引言 随着移动开发技术的不断发展,React Native 成为了跨平台应用开发的重要工具之一。对于Android平台的应用发布来说,正确掌握React Native项目的打包流程至关...

    android framework 经验总结

    这篇“Android Framework经验总结”将深入探讨这一关键领域的核心概念、主要组件以及常见开发实践。 1. **Android架构概述**: Android系统分为四个主要层次:Linux内核、系统库、Android运行时(ART)以及应用...

    精通Android游戏开发

    ### 精通Android游戏开发知识点总结 #### 1. 欢迎进入Android游戏世界 ##### 1.1 必备技能 - **扎实的Android基础**:掌握Android SDK的使用、熟悉Android应用程序的基本结构及其生命周期管理。这部分内容包括...

    Android-reactnative弹幕插件android基于哔哩哔哩弹幕插件

    总结起来,"Android-reactnative弹幕插件android基于哔哩哔哩弹幕插件"是一个旨在为React Native应用提供弹幕功能的库,它的目标是简化开发过程,让开发者能够快速地在应用中加入互动式的弹幕系统,类似于Bilibili。...

Global site tag (gtag.js) - Google Analytics