feat: 新增安卓平台支持

This commit is contained in:
mofeng-git
2026-05-24 08:37:19 +00:00
parent dc6475776e
commit b31aae284d
105 changed files with 7900 additions and 473 deletions

View File

@@ -5,13 +5,16 @@ use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum PlatformMode {
AndroidAmlogic,
Linux,
Windows,
}
impl PlatformMode {
pub const fn current() -> Self {
if cfg!(windows) {
if cfg!(feature = "android") {
Self::AndroidAmlogic
} else if cfg!(windows) {
Self::Windows
} else {
Self::Linux
@@ -20,6 +23,7 @@ impl PlatformMode {
pub const fn label(self) -> &'static str {
match self {
Self::AndroidAmlogic => "Android Amlogic",
Self::Linux => "Linux",
Self::Windows => "Windows",
}
@@ -81,9 +85,17 @@ pub struct PlatformCapabilities {
impl PlatformCapabilities {
pub fn current() -> Self {
match PlatformMode::current() {
PlatformMode::Linux => crate::platform::linux::capabilities(),
PlatformMode::Windows => crate::platform::windows::capabilities(),
#[cfg(feature = "android")]
{
return crate::platform::android::capabilities();
}
#[cfg(windows)]
{
return crate::platform::windows::capabilities();
}
#[cfg(all(unix, not(feature = "android")))]
{
return crate::platform::linux::capabilities();
}
}
}