awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
android avatar

android/ndk-samples

0
View on GitHub↗
10,513 星标·4,255 分支·C++·Apache-2.0·7 次浏览developer.android.com/ndk↗

Ndk Samples

The Android NDK samples provide a comprehensive collection of code examples demonstrating how to integrate C and C++ native code into Android applications. This repository serves as a practical guide for developers utilizing the Android Native Development Kit to implement performance-critical application components that require direct hardware access and low-level system interaction.

The project highlights the use of the Java Native Interface to bridge managed code with native modules, enabling cross-language function calls and efficient data exchange. It demonstrates how to manage native activity lifecycles, configure build toolchains for multi-architecture compilation, and package native libraries to ensure compatibility across diverse mobile processor instruction sets.

These samples cover a broad capability surface, including high-performance graphics rendering with Vulkan and OpenGL ES, low-latency audio processing, and on-device machine learning inference. The collection also illustrates advanced techniques for memory management, native code debugging, and performance optimization, such as hardware-assisted memory sanitization and CPU-specific instruction set targeting.

Features

  • Software Development Kits - Provides a toolset for implementing performance-critical application components in C and C++ with direct hardware access.
  • Low-Latency Implementation - Provides high-performance C and C++ APIs for real-time audio synthesis, recording, and playback with minimal hardware delay.
  • Android Development - Provides tools and frameworks for building high-performance applications using C and C++ on Android.
  • Native C Interoperability - Bridges managed Java or Kotlin code with native C and C++ modules for cross-language function calls and data exchange.
  • Native Bridges - Connects managed runtime environments with native code via a standardized mechanism for cross-language function calls.
  • On-Device Inference Engines - Executes complex neural network models directly on mobile hardware for fast inference.
  • Audio Processing - Implements low-latency audio input and output streams by interfacing with native system-level audio hardware drivers.
  • Native API Integration - Provides access to native audio APIs through C and C++ headers for high-performance sound applications.
  • Hardware-Accelerated Rendering - Implements high-performance 2D and 3D visuals using low-level graphics APIs.
  • Low-Latency Concurrency Patterns - Facilitates real-time sound synthesis, recording, and playback by interacting with low-level audio hardware.
  • Graphics Rendering Interfaces - Enables hardware-accelerated rendering using Vulkan and OpenGL ES within native application modules.
  • Hardware Acceleration - Runs on-device machine learning models using hardware-accelerated operations to improve processing speeds.
  • Android NDK Configurations - Provides a collection of code examples demonstrating native code integration into Android applications.
  • Graphics Rendering APIs - Utilizes low-overhead, cross-platform APIs to generate real-time 3D visuals while minimizing CPU usage.
  • 3D Graphics Pipelines - Provides low-level interfaces for hardware-accelerated 3D graphics rendering.
  • Android Activity Lifecycle Management - Provides native interfaces for managing Android activity lifecycles and input events without managed code.
  • Memory Safety Diagnostics - Employs processor-level tagging and instrumentation to detect memory corruption and safety violations in native code.
  • Native Compatibility Layers - Android NDK uses preprocessor macros and dynamic linking techniques to conditionally execute code based on the minimum supported OS version and available platform features.
  • Instruction Set Targets - Configures the build system to generate native binaries for specific CPU instruction sets.
  • Model Inference - Supports applying compiled models to input data using synchronous or asynchronous processing for high-performance inference.
  • Native Binary Toolchains - Orchestrates the compilation of C and C++ source code into architecture-specific binaries using integrated build toolchains.
  • Performance Optimization - Enables optimization of audio paths to balance latency, power consumption, and hardware effect availability.
  • Audio Streaming Engines - Offers low-latency audio playback and recording interfaces for high-performance sound applications.
  • Native Activity Bridges - Executes high-performance graphics rendering by bridging Android system lifecycle events directly to native code.
  • Hardware Acceleration - Utilizes low-level system drivers and hardware-specific instruction sets to accelerate media and compute workloads.
  • Latency Minimizers - Configures recording parameters and hardware usage to reduce the delay between capturing and processing audio.
  • Corruption Detectors - Identifies native code errors including buffer overflows, use-after-free, and double-free vulnerabilities by instrumenting memory allocations.
  • Memory Leak Detection - Identifies memory corruption and invalid access patterns in native code using high-performance hardware-assisted or software-based sanitization tools.
  • Memory Allocation Selectors - Evaluates device memory properties to choose the most efficient allocation strategy for buffers and images.
  • Shared Memory Buffers - Shares raw memory regions between managed and native layers to eliminate expensive data copying.
  • Audio Playback - Provides configurable audio players for streaming content from URIs or buffer queues with playback control.
  • Engine Managers - Initializes and coordinates thread-safe audio engines that support multiple concurrent objects.
  • Interactive Synthesis - Allows implementing real-time sound processing and playback logic for responsive musical instruments and games.
  • Signal Generation - Enables synthesis and playback of digital audio waveforms using low-latency native interfaces.
  • Audio Recording - Captures audio from device hardware using specified data locators and formats for processing or storage.
  • Render Pass Consolidators - Consolidates rendering operations to reduce the overhead of starting and ending passes on mobile GPU architectures.
  • Runtime Shader Compilers - Provides C and C++ APIs to perform just-in-time compilation of shader source code into SPIR-V modules.
  • Multimedia Processing - Provides low-level interfaces for media extraction, codec operations, and multimedia output handling.
  • Camera Capture Controllers - Performs fine-grained photo capture and processing using low-level hardware interfaces.
  • Native Binary Runtimes - Packages and extracts architecture-optimized binary modules at runtime to ensure cross-platform compatibility.
  • Hardware Tagging - Applies hardware memory tags to custom allocators by aligning memory to 16-byte granules and using specific processor instructions.
  • Memory Allocation Tracers - Monitors heap usage and intercepts memory allocation calls to diagnose leaks and management issues in native code.
  • Audio Buffers - Handles PCM audio data streams for playback and recording using high-performance buffer queues.
  • C Function Bindings - Maps native functions to C and C++ implementations explicitly to improve performance and maintainability.
  • C++ Runtimes - Links applications against standard C++ library implementations to provide essential language features within native code.
  • Multi-Target Compilers - Compiles native code for multiple instruction sets to ensure compatibility across diverse hardware platforms.
  • Secure Execution Environments - Defends against memory-based attack vectors using hardware-level protection features on supported processors.
  • Vulnerability Mitigation - Enables hardware-based pointer authentication and branch target identification to protect native code execution flow.
  • Binary Compatibility Strategies - Manages minimum API levels and NDK versions to ensure native library compatibility.
  • Computational Optimizers - Performs parallel data processing using advanced instruction sets to increase execution speed in low-level code.
  • API Call Interceptors - Injects custom logic into graphics API calls to monitor and modify rendering behavior at runtime.
  • Machine Learning Optimization - Configures and refines mathematical models for specific hardware processors to balance power consumption and processing speed.
  • Production Heap Monitors - Samples memory allocations in production environments to identify heap-based corruption issues with minimal performance impact.
  • Cross-Compilation Toolchains - Configures build toolchains to compile native code for specific target architectures and platform versions.
  • CPU Profilers - Calculates the percentage of CPU cycles consumed by specific shared libraries, functions, or threads to identify performance bottlenecks.
  • Runtime Version Queries - Android NDK retrieves the target application SDK version and the current device API level at runtime to adjust native code behavior dynamically.
  • Native Stack Unwinders - Translates raw memory addresses in crash logs into human-readable source code file names and line numbers.
  • Native Compilation - Integrates C and C++ source files into the application build process to produce executable native libraries.
  • Android Packages - Distributes native code within AAR files to simplify integration for downstream developers.
  • Validation Layers - Bundles validation binaries within application packages to ensure consistent graphics API verification across target devices.
  • Package Distribution - Packages multiple architecture-specific binaries and manages their extraction for target devices.
  • Asynchronous Callbacks - Processes audio events using non-blocking handlers that operate on internal system threads.
  • Floating-Point Processing - Allows representing audio data using floating-point numbers to increase dynamic range and headroom.
  • Latency Measurement - Provides utilities for measuring round-trip audio latency to optimize performance-critical sound applications.
  • Data Streamers - Supports transferring audio samples between applications and device hardware using configured streams.
  • Stream Configuration - Allows definition of stream parameters like device, sharing mode, and format to balance hardware requirements.
  • Context Managers - Allocates and manages rendering surfaces and contexts to bridge native code with graphics hardware.
  • Descriptor Binding Groupers - Organizes descriptor sets by update frequency to minimize rebinding overhead and improve efficiency during draw calls.
  • Native Image Decoders - Converts encoded image files into raw pixel data directly within native code using various input sources.
  • Validation Layers - Utilizes system-provided validation layers to enable diagnostic features dynamically without modifying application binaries.
  • MIDI Data Exchange - Enables sending and receiving MIDI messages directly within native code to minimize latency.
  • Acceleration Detectors - Identifies whether a graphics device uses hardware or software emulation to ensure the most efficient rendering path.
  • Native Library Integrations - Imports existing static or shared binary libraries to accelerate build times and distribute compiled code.
  • Native Memory Lifecycle Management - Controls the lifecycle of native references to managed objects to prevent memory leaks.
  • Graph Construction Engines - Defines computation sequences of mathematical operations to represent complex machine learning models for runtime evaluation.
  • Exception Handling Strategies - Detects and clears exceptions thrown by managed code within native methods to ensure stable execution.
  • Library Compatibility Managers - Aligns minimum API levels and build tool versions across native libraries to prevent incompatibilities.
  • Code Optimization - Uses runtime execution profiles to guide compiler decisions on code layout and inlining for faster execution.
  • Crash Reporters - Captures serialized tombstone data from native crashes to enable post-mortem analysis of application failures.

Star 历史

android/ndk-samples 的 Star 历史图表android/ndk-samples 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Ndk Samples 的开源替代方案

相似的开源项目,按与 Ndk Samples 的功能重合度排序。
  • libgdx/libgdxlibgdx 的头像

    libgdx/libgdx

    24,816在 GitHub 上查看↗

    LibGDX is a Java-based framework designed for cross-platform game development, enabling the creation and deployment of 2D and 3D games across desktop, mobile, and web environments from a single codebase. It functions as a comprehensive library that abstracts hardware-accelerated graphics, audio, input, and file system access, providing a unified interface for developers to manage game logic and application lifecycles. The framework distinguishes itself through a high-performance architecture that prioritizes efficiency and native interoperability. It utilizes a batch-oriented graphics pipelin

    Java2d3dandroid
    在 GitHub 上查看↗24,816
  • microsoft/windows-universal-samplesmicrosoft 的头像

    microsoft/Windows-universal-samples

    9,696在 GitHub 上查看↗

    This repository is a comprehensive collection of reference implementations and sample libraries for the Universal Windows Platform. It provides practical examples of how to use Windows Runtime APIs to build cross-device applications, including detailed guidance on XAML-based declarative user interfaces and DirectX-integrated rendering. The project distinguishes itself by providing a wide array of hardware integration suites, covering low-level communication with USB, Serial, I2C, SPI, and GPIO peripherals. It includes specialized implementations for mixed reality holographic rendering, advanc

    JavaScript
    在 GitHub 上查看↗9,696
  • google/oboegoogle 的头像

    google/oboe

    4,069在 GitHub 上查看↗

    Oboe is a native C++ library designed for building high-performance, low-latency audio applications on Android. It serves as a unified wrapper and native API for managing audio streams, sample rates, and hardware routing across different Android operating system versions. The library provides a consistent interface by automatically selecting the most efficient audio backend at runtime, switching between AAudio and OpenSL ES to ensure the lowest possible latency. It enables exclusive-mode hardware access to bypass the system mixer and utilizes a high-priority asynchronous pull model for audio

    C++
    在 GitHub 上查看↗4,069
  • syedhali/ezaudiosyedhali 的头像

    syedhali/EZAudio

    4,991在 GitHub 上查看↗

    EZAudio is an audio library for Apple platforms that provides standardized interfaces for microphone capture, file playback, and hardware output. It functions as a low-latency audio processor and visualization framework designed to manipulate audio buffers and route signals with minimal delay. The project features a hardware-accelerated waveform renderer for drawing real-time audio amplitudes and rolling plots. It also includes a Fast Fourier Transform analyzer that converts time-domain audio samples into frequency-domain data for spectral analysis. The library covers a broad range of capabi

    Objective-C
    在 GitHub 上查看↗4,991
查看 Ndk Samples 的所有 30 个替代方案→

常见问题解答

android/ndk-samples 是做什么的?

The Android NDK samples provide a comprehensive collection of code examples demonstrating how to integrate C and C++ native code into Android applications. This repository serves as a practical guide for developers utilizing the Android Native Development Kit to implement performance-critical application components that require direct hardware access and low-level system interaction.

android/ndk-samples 的主要功能有哪些?

android/ndk-samples 的主要功能包括:Software Development Kits, Low-Latency Implementation, Android Development, Native C Interoperability, Native Bridges, On-Device Inference Engines, Audio Processing, Native API Integration。

android/ndk-samples 有哪些开源替代品?

android/ndk-samples 的开源替代品包括: libgdx/libgdx — LibGDX is a Java-based framework designed for cross-platform game development, enabling the creation and deployment of… microsoft/windows-universal-samples — This repository is a comprehensive collection of reference implementations and sample libraries for the Universal… google/oboe — Oboe is a native C++ library designed for building high-performance, low-latency audio applications on Android. It… syedhali/ezaudio — EZAudio is an audio library for Apple platforms that provides standardized interfaces for microphone capture, file… lmms/lmms — LMMS is a digital audio workstation and MIDI sequencer designed for composing, arranging, and mixing music. It… bloomberg/memray — Memray is a memory profiler for Python that tracks heap allocations in both Python code and native C or C++…