16 个版本
0.2.0 | 2023年7月20日 |
---|---|
0.1.10 | 2022年8月8日 |
0.1.9 | 2022年7月26日 |
0.1.6 | 2022年6月30日 |
0.0.4 | 2021年6月7日 |
#2214 in 解析实现
每月32次下载
在 6 个crate中(3个直接) 使用
365KB
2.5K SLoC
AndroidManifest 序列化和反序列化器用于 Rust。此库也将随着 AndroidManifest 规范的变化而保持更新。
# Cargo.toml
[dependencies]
android-manifest = "*"
自行创建 AndroidManifest.xml
let manifest = AndroidManifest {
package: "com.example.toggletest".to_string(),
version_code: Some(1),
version_name: Some("1.0".to_string()),
application: Application {
allow_backup: Some(true.into())),
icon: Some(MipmapOrDrawableResource::mipmap("ic_launcher", None)),
label: Some(StringResourceOrString::resource("app_name", None)),
theme: Some(StyleResource::new("AppTheme", None)),
activity: vec![Activity {
label: Some(StringResourceOrString::resource("app_name", None)),
name: "com.example.toggletest.MainActivity".to_string(),
intent_filter: vec![IntentFilter {
action: vec![Action {
name: Some("android.intent.action.MAIN".to_string()),
}],
category: vec![Category {
name: Some("android.intent.category.LAUNCHER".to_string()),
}],
..Default::default()
}],
..Default::default()
}],
..Default::default()
},
..Default::default()
};
let serialized_manifest = android_manifest::to_string_pretty(&manifest).unwrap();
或解析任何 AndroidManifest.xml
文件
let xml = r#"
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.toggletest"
android:versionCode="1"
android:versionName="1.0">
<application android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<activity android:label="@string/app_name"
android:name="com.example.toggletest.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>"#;
let manifest: AndroidManifest = android_manifest::from_str(xml).unwrap();
许可证
本项目采用 Apache License,Version 2.0 许可,(LICENSE 或 http://www.apache.org/licenses/LICENSE-2.0)。
贡献
除非您明确声明,否则您有意提交给 toml-rs 的任何贡献,根据 Apache-2.0 许可证定义,应按上述方式双重许可,不附加任何额外条款或条件。
依赖项
~0.8–1.4MB
~31K SLoC