Cargo передает некоторые метаданные компилятору через переменные среды, список которых можно найти на страницах документации Cargo .
В среде компилятора этот метод в коде Cargo. Этот код стал более сложным с более ранних версий, и весь список переменных уже не является очевидным из-за его динамичности. Тем не менее, по крайней мере, здесь устанавливаются следующие переменные (из списка в документах):
CARGO
CARGO_MANIFEST_DIR
CARGO_PKG_VERSION_MAJOR
CARGO_PKG_VERSION_MINOR
CARGO_PKG_VERSION_PATCH
CARGO_PKG_VERSION_PRE
CARGO_PKG_VERSION
CARGO_PKG_NAME
CARGO_PKG_DESCRIPTION
CARGO_PKG_HOMEPAGE
CARGO_PKG_AUTHORS
OUT_DIR
Вы можете получить доступ к переменным среды, используя макрос env!()
. Чтобы вставить номер версии вашей программы, вы можете сделать это:
const VERSION: &'static str = env!("CARGO_PKG_VERSION");
// ...
println!("MyProgram v{}", VERSION);
Если вы хотите, чтобы ваша программа была скомпилирована даже без Cargo, вы можете использовать option_env!()
:
const VERSION: Option<&'static str> = option_env!("CARGO_PKG_VERSION");
// ...
println!("MyProgram v{}", VERSION.unwrap_or("unknown"));
Когда вы создаете ярлык на главном экране для закладки, Android будет использовать apple-touch-icon-precomposed
, если он присутствует (но не apple-touch-icon
) в качестве иконки в высоком разрешении:
<link rel="apple-touch-icon-precomposed" href="/custom_icon.png"/>
Что касается остальных функций, я не думаю, что есть какой-то способ сделать это в настоящее время без публикации приложения Android, которое действует как обертка для вашего вебсайта.