گرفتن خروجی اندروید از برنامه توسعه داده شده با MAUI توسط command line در دات نت 8

Getting Android output from an application developed with MAUI via command line in .NET 8

2 ماه و 17 روز پیش

برای توزیع یک برنامه اندرویدی ( MAUI )، باید آن را با یک کلید از keystore خود امضا کنیم. keystore یک پایگاه داده از گواهی های امنیتی است که با ابزار keytool از کیت توسعه جاوا ( JDK ) ایجاد می شود.

هنگام انتشار یک برنامه Android .NET MAUI به این کلید نیاز است. زیرا اندروید برنامه هایی را که با کلیدی امضا نشده باشند را اجرا نمی کند.

 

keystore چیست؟

برای توضیع یک برنامه اندروید ( MAUI ) باید آن را با یک کلید از keystore خود امضا کنیم. keystore یک پایگاه داده از گواهی های امنیتی است که با keytool از کیت توسعه جاوا ( JDK ) ایجاد میشود. هنگام انتشار یک برنامه Android .NET MAUI به یک کلید نیاز است، زیرا اندروید برنامه هایی که با کلید امضا نشده باشند را اجرا نمیکند.

 

ساخت فایل keystore :

ترمینال رو باز میکنیم و به مسیر پروژه میرویم ( جایی که فایل Solution قرار دارد. سپس ابزار keytool را با پارامتر های زیر اجرا میکنیم.

 

اگر چندین نسخه از JDK  روی سیستم نصب دارید باید مطمئن شوید از آخرین نسخه موقع اجرای ابزار keytool استفاده میکنیم.

 

keytool -genkeypair -v -keystore {filename}.keystore -alias {keyname} -keyalg RSA -keysize 2048 -validity 10000

 

بجای {filename} و {keyname} نام Solution یا Project خود را بنویسید.

با اجرای دستور از شما کمی اطلاعات شامل نام، رمز عبور، شهر و… میخواهد. بنا به مشخصات خودتون این موارد رو بنویسید و حتما رمز رو جایی امن نگه دارید.

 

بعد ازتکمیل  اجرای دستور فایل با نام Solution.keystore در کنار فایل Solution شما ساخته خواهد شد. دیگر با این فایل کاری نداریم و حالا میریم سراغ ساخت ( خروجی گرفتن ) از برنامه.

 

 

ساخت و امضا برنامه:

 

 

تعریف مشخصات ساخت در فایل پروژه:

روی فایل پروژه دوبار کلیک کنید تا فایل تنظیمات باز شود. سپس به انتهای کد های این فایل رفته و قبل از تگ بسته </Project> کد های زیر را قرار دهید.

 

<PropertyGroup Condition="$(TargetFramework.Contains('-android')) and '$(Configuration)' == 'Release'">
    <AndroidSigningKeyStore>myapp.keystore</AndroidSigningKeyStore>
    <AndroidSigningKeyAlias>key</AndroidSigningKeyAlias>
    <AndroidSigningKeyPass>password</AndroidSigningKeyPass>
    <AndroidSigningStorePass>password</AndroidSigningStorePass>
</PropertyGroup>

 

به نسبت اطلاعاتی که موقع ساخت key وارد کرده ایم این کد رو بصورت زیر تغییر میدهیم.

 

<PropertyGroup Condition="$(TargetFramework.Contains('-android')) and '$(Configuration)' == 'Release'">
	<AndroidSigningKeyStore>..\Solution.keystore</AndroidSigningKeyStore>
	<AndroidSigningKeyAlias>Solution</AndroidSigningKeyAlias>
	<AndroidSigningKeyPass>password</AndroidSigningKeyPass>
	<AndroidSigningStorePass>password</AndroidSigningStorePass>
</PropertyGroup>

 

اطلاعات رو ذخیره میکنیم و در نهایت برای گرفتن خروجی دستور زیر رو در ترمینال اجرا میکنیم:

 

dotnet publish -f net8.0-android -c Release

 

در پوشه publish که در مسیر زیر می باشد فایل های خروجی پروژه رو مشاهده خواهید کرد.

 

\Solution\Solution\bin\Release\net8.0-android

 

 

 

فایل با پسوند .apk قابل نصب روی تجهیزات اندرویدی می باشد.

برچسب ها