Rust bindings to the Android NDK
MediaFormat
from media::media_codec
to its own media::media_format
module. (#442)MediaFormat::copy()
and MediaFormat::clear()
from API level 29. (#449)fn set_*()
and fn str()
as taking self
by &mut
. (#452)dyn Fn*
types to implement Send
when the FFI implementation invokes them on a separate thread: (#455)
audio::AudioStreamDataCallback
;audio::AudioStreamErrorCallback
;media::image_reader::BufferRemovedListener
;media::image_reader::ImageListener
;media::media_codec::ErrorCallback
;media::media_codec::FormatChangedCallback
;media::media_codec::InputAvailableCallback
;media::media_codec::OutputAvailableCallback
.Box
ed callbacks after registering new ones, instead of before. (#455)from_java()
constructor, available since API level 33. (#456)from_java()
constructors to KeyEvent
and MotionEvent
, available since API level 31. (#456)Image
-acquire functions. (#457)ImageReader::acquire_latest_image_async()
unsafe
to match the safety requirements on ImageReader::acquire_next_image_async()
. (#457)SourceClass
bitflag
and provide Source::class()
getter. (#458)bitflags
implementations consider all (including unknown) bits in negation and all()
. (#458)non_exhaustive
and fix repr
types. (#459)TRANSFORM_
prefix from NativeWindowTransform
variants. (#460)HardwareBufferUsage
to bitflags
. (#461)BitmapCompressError
behind missing api-level-30
feature. (#462)libnativewindow
for most API >= 26 functions. (#465)AudioResult
variant enum into AudioError
. (#467)DataSpaceRange::Unspecified
variant. (#468)Send
marker when adding fd event callbacks on ForeignLooper
. (#469)ndk-sys 0.6.0
. (#472)11769913
. (#471)nativewindow
feature to link against libnativewindow
. (#465)25.2.9519653
with rust-bindgen 0.66.0
. (#324, #370)font
, font_matcher
, system_fonts
bindings. (#397)sync
feature for linking against libsync.so
. (#423)tool_type
getter for Pointer
. (#323)pre_dispatch()
again, as per documentation. (#325)raw-window-handle 0.5.1
, num_enum
's catch_all
with arbitrary enum discriminants. (#388, #431)jni
dependency for doctest example from 0.19
to 0.21
. (#390)ndk-sys 0.5.0
. (#370)bitflags
crate from 1
to 2
. (#394)try_format()
to AndroidBitmapInfo
to handle unexpected formats without panicking. (#395)Font
bindings. (#397)num_enum
crate from 0.5.1
to 0.7
. (#398, #419)media
" error types and helpers to a new media_error
module. (#399, #432)MaybeUninit
bytes in buffer_mut()
. (#403)lock()
to blit raw pixel data. (#404)YCbCr_P010
and R8_UNORM
variants. (#405)is_allocated()
and open_file_descriptor()
methods. (#409)remove_fd()
to unregister events/callbacks for a file descriptor. (#416)BorrowedFd
and OwnedFd
to clarify possible ownership transitions. (#417)ndk-sys 0.5.0
. (#420)sync.h
. (#423)AndroidBitmapInfoFlags
. (#424)set_buffers_transform()
, try_allocate_buffers()
and set_frame_rate*()
. (#425)ASharedMemory
. (#427)id()
to retrieve a system-wide unique identifier for a HardwareBuffer
. (#428)Android
prefix from structs and enums, and Bitmap
from Result
. (#430)raw-window-handle 0.5
support is now behind an optional rwh_05
crate feature and raw-window-handle
0.4
and 0.6
support is provided via the new rwh_04
and (default-enabled) rwh_06
crate features. (#434)event
value to file descriptor poll callback. (#435)HardwareBufferFormat
is no longer exported from hardware_buffer
and native_window
, and can only be reached through the hardware_buffer_format
module. (#436)get_
prefixes have been removed from all public functions in light of the C-GETTER convention. (#437)DataSpace
type and relevant functions on Bitmap
and NativeWindow
. (#438)Bitmap::compress()
and Bitmap::compress_raw()
functions. (#440)BitmapError
into a non_exhaustive
enum
. (#440)AudioErrorResult
to AudioResult
and turn into a non_exhaustive
enum
. (#441)tool_type
getter for Pointer
. (#323)pre_dispatch()
again, as per documentation. (#325)raw-window-handle 0.5.1
. (#388)jni
dependency for doctest example from 0.19
to 0.21
. (#390)ndk-sys 0.5.0
. (#370)bitflags
crate from 1
to 2
. (#394)try_format()
to AndroidBitmapInfo
to handle unexpected formats without panicking. (#395)num_enum
crate from 0.5.1
to 0.7
. (#398, #419)media
" error types and helpers to a new media_error
module. (#399)MaybeUninit
bytes in buffer_mut()
. (#403)lock()
to blit raw pixel data. (#404)YCbCr_P010
and R8_UNORM
variants. (#405)remove_fd()
to unregister events/callbacks for a file descriptor. (#416)BorrowedFd
and OwnedFd
to clarify possible ownership transitions. (#417)ndk-sys 0.5.0
. (#420)25.2.9519653
with rust-bindgen 0.66.0
. (#324, #370)0.4.0
to combat a faulty 0.4.0+25.0.8775105
publish. Now also includes +23.1.7779620
version metadata.ndk-build
to deduplicate libraries before packaging them into the APK. (#333)android:resizeableActivity
. (#338)--device
argument to select adb
device by serial (see adb devices
for connected devices and their serial). (#329)adb logcat
output after starting app. (#332)adb
device serial parameter to detect_abi()
and Apk::{install,start}()
. (#329).exe
extension for adb
on Windows inside detect_abi()
. (#339)start()
now returns the PID of the started app process (useful for passing to adb logcat --pid
). (#331)ndk_gdb()
function from cargo-apk
with the appropriate script extension across platforms. (#330, #258)adb
path to ndk-gdb
, allowing it to run without adb
in PATH
. (#343)Android.mk
to fix ndk-gdb
on Windows. (#344)ndk-gdb
to block app start until the debugger is attached. (#345)ANDROID_SDK_ROOT
as deprecated instead of ANDROID_HOME
. (#346)fn android_dir()
to fn android_user_home()
and seed with ANDROID_SDK_HOME
or ANDROID_USER_HOME
. (#347)LockReadGuard
newtype around NativeWindow
/InputQueue
to hide the underlying lock implementation. (#288)LockReadGuard<Option<T>>
into Option<LockReadGuard<T>>
to only necessitate an Option
unpack/unwrap()
once. (#282)