رفتن به مطلب

رفع مشکل خروجی گرفتن با Target api 34 در یونیتی


ali mo

ارسال‌های توصیه شده

سلام دوستان وقتتون بخیر 

امیدوارم که حالتون خوب باشه ❤️

همان طور که می دونید جدیدا مارکت ها گفتند که باید برنامه های ساخته شده حداقل تارگت ای پی ای بالاتر از 32داشته باشند و این مطلب موجب شده تا خروجی گرفتن در موتور بازی سازی یونیتی خیلی سخت تر بشه چون خیلی از دوستان از پکیج های قدیمی پیاده سازی کافه بازار و یا ادنتورک ها استفاده میکنند و همین مطلب موجب میشه موقعی که تارگت ای پی ای رو میزاریم روی بالاتر از 32 مشکلات مختلفی به وجود بیاد .

ما حدودا بیشتر از 4 روز فقط درگیر همین خروجی زدن ساده داخل یونیتی شدیم که واقع اذیتمون کرد گفتم داخل این انجمن یک اشتراک گزاری تجربه ای انجام بدم که موجب بشه شاید حداقل با دیدن این پست مشکل یک عزیزی حل بشه چون میدونم در حال حاضر خیلی از دوستان درگیر این موضوع هستند.

 

خب بریم سراغ گفتن یک سری نکات :

همان طور که میدونید ما تحریم هستیم خیلی از سرور های گوگل داخل ایران هیتلر هستند و بعضا با انواع قند شکن باز نمی شوند اولین مطلب که همه دوستان در خروجی زدن باید رعایت کنند که از همه نوع قند شکن استفاده کنند اللخصوص از سرویس های مثل تحریم گذر و 403 و بگذر و.... چون برخی اوقات ممکن است فایل های گریدل یا دیگر فایل ها روی سرور های مختلفی باشند و یکیشون با یک نوع قند شکن مشکل داشته باشه و تا بفهمه از این سرویس دارید استفاده میکنید بن کنه و نزاره خروجی انجام بشه پس در قدم اول سعی کنید با همه نوع قند شکن یا ابزار های دی ان اس خروجی بگیرید و تست کنید چون بسیاری از مشکلات و خطا های هنگام خروجی میتونه با این روش حل بشه و فقط بسنده نکنید به استفاده از یک قند شکن ........

ما در خروجی گرفتن یک مشکلی که خیلی اذیتمون میکرد این بود که میگفتن اگر میخواهی خروجی با تارگت اس دی کا بالای 32 بزنی حتما باید یونیتی رو بروزرسانی کنی که خوب این کار در بازی سازی خیلی هزینه داره چون ممکنه متریال ها و.... تفییر کنند و کلا باگ های زیادی داشته باشه چون پروژه بروزرسانی میشه. ولی خوشبختانه با یوینیتی 2020 با تارگت اس دی کا 34 خروجی گرفتیم و نیاز نبود به بروزرسانی (البته امیدوارم مشکلی در ادامه فرایند پیش نیاد و بتونیم بازی رو داخل مارکت منتشر کنیم 😁 بروزرسانی : که البته مشکل پیش امد باید از یونیتی 2020.3.48 استفاده کنید پایین این پست رو حتما بخونید.) اگر مشکلی پیش بیاد این پست رو برورسانی میکنم.(که انجام دادم)

 

خب حالا بریم سراغ اصل مطلب یعنی نحوه بروزرسانی  sdk:

ببینید ما تا الان یک اس دی کا یونیتی داشتیم که باهاش داشتیم خروجی میزدیم و مشکلی نبوده نیاز نیست به اون اس دی کا دست بزنیم فقط در ابتدا یک کپی ازش بگیرید به عنوان بک اپ و در ادامه به این روش ساده که میگیم بروزرسانی رو انجام بدید  روی همون اس دی کا که داشتیم.

من قبلا با تارگت api 30  خروجی میزدم که هیچ مشکلی نداشت یعنی داخل اس دی کا فقط داخل پوشه پلتفرم تا 30 بود

برای بروزرسانی همون اس دی کا یونیتی که باهاش داشتیم کار میکردیم فقط کافیه برید داخل اندروید استدیو از سربرگ های بالا گزینه فایل رو انتخاب کنید سپس گزینه ستینگ رو انتخاب کنید و سپس رو گزینه سیستم ستینگ کلیک کنید تا باز بشه بعدش رو گزینه اندروید اس دی کا کلیک کنید که صفحه مدیریرت ای پی ای ها براتون باز بشه قبلا از این که اندروید استدیو رو باز کنید حتما به این دقت داشته باشید که تحریم گذر یا قند شکنتون فعال باشه و تو این صفحه اپدیت بشه و ای پی های جدید بهتون نمایش بده مثل تصویر زیر :

image.png.05b52f057ffe71d9fee37fb447298ded.png

 

خب مثل تصویر بالا روی ای پی ای های 32 و 33 و 34  دقیقا مثل چیزی که من تیک زدم کلیک کنید و دکمه اکی پایین رو بزنید و اجازه بدید که دانلود بشه بعد از این که کامل دانلود شد برید تو قسمت مدیریرت فایلتون به ادرس زیر

C:\Users\your user name\AppData\Local\Android\Sdk

سپس برید داخل پوشه پلتفرم و اونجا  ای پی ای های جدید رو که دانلود کردید مثل 32 و 33و 34  رو انتخاب کنید و سپس برید تو اس دی کا یونیتی دقیقا داخل پوشه اس دی کا و سپس پوشه پلتفرم پیست کنید تا به اس دی کا یونیتی مون هم ای پی ای های جدید وارد بشوند .

بعد از این کار برید داخل یونیتی و سپس برید داخل بیلد ستینگ از اونجا تارگت ای پی ای رو بزارید روی عددی که قبلا خروجی میگرفتید و مشکلی نداشته تاکید میکنم بزارید روی عددی که قبلا باهاش خروجی میگرفتید و بعدش دوباره بزنید خروجی بگیره 

خروجی که گرفت این بار برید دوباره داخل بیلد ستینگ و تارگت رو بزارید روی عدد 32 و 33 ویا 34 و خروجی بگیرد. فقط یادتون باشه که حتما تحریم شکنتون فعال باشه و بعدش برید قسمت بیلد ستینگ که اون شماره ای پی ای جدید رو براتون بیاره ( بروزرسانی : اگر نسخه یونیتی تو رو بیارید بالا یعنی 2020.3.48 این مشکل حل میشه و با اولین خروجی 34 میزنه )

 

تا اینجا کار تموم هست و برای من با این روش خروجی زد و مشکلی نبود و از این به بعد اگر مجدد سیستمون خاموش بشه و روشن بشه ممکنه باز هم با ای پی ای جدید خروجی نزنه که میتونیم یکبار با تارگت ای پی ای قدیم خروجی بزینم بعدش با ای پی ای جدید خروجی بگیرم که میشه و مشکلی نداره

این باگ خیلی عجیبه ولی راهی برای برطرف کردنش پیدا نکردم متاسفانه 

نکات تکمیلی :

ممکنه بعد از خروجی هنگام نصب بازی تون نصب نشه و موقع نصب بنویسه بسته معتبر نیست یا بنویشه مشکل تجزیه بسته که این مشکل رو با نوشتن یک صفت داخل منفیست باید رفع کنید 

در واقع این مشکل به خاطر این هست که از اندروید 31 به بعد داخل هر کجای منیفست که عبارت اینتنت هیتلر هست اعلام کنید یک صفتی رو که در ادامه میگم 

ابتدا برید داخل پروژه و سپس در پوشه پلاگین فایل AndroidManifest.xml رو باز کنید اگر داخل پروژه تون نیست چنین فایلی میتونید تو بیلد ستینگ تیکش رو بزنید تا ساخت بشه منیفست 

این فایل رو با notepad باز کنید و هر کجا که عبارت اینتنت هیتلر بود عبارت android:exported="true" رو بزارید دقیقا مثل کد زیر 

فقط دقت کنید تو تگ اکتویتی به همین صورت باشه و این که فقط جا های که اینتنت هیتلر بود این کار رو انجام بدید.

 

<activity android:name="com.unity3d.player.UnityPlayerActivity"
                  android:theme="@style/UnityThemeSelector"
        android:exported="true" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
        </activity>

 

نکته بعد اگر لازم بود ndk هم دانلود کنید میتونید به راحتی از اندروید استدیو دانلود کنید کافیه همونجا که رفتید ای پی ای ها رو دانلود کنید در سربرگ کناریش یعنی sdk tools میتونید این کار انجام بدید.

بازهم اگر مشکلی بود میتونید داخل تلگرام بهم پیام بدید تا جای که وقتم اجازه بده راهنمای میکنم

@alimo1111

این مطلب بالای شاید خیلی ساده باشه ولی 4 روز از وقت من رو گرفت و اذیت کرد امیدوارم همگی با انتشار تجربه هامون بتونیم به همدیگه کمک کنیم تا مقداری هم اثر تحریم کم بشه و هم سختی کار 

ببخشید اگر متن بد نوشته شده یا مشکلی داره چون تند نوشتم 

مرسی از همه 

یاعلی

 

 

نتیجه انتشار بازی با این روش :

 

دوستان من با این روش گیم رو منتشر کردم و فقط یک مشکل پیش امد با نسخه یونیتی 2020.3.9  و بالا تر تا 2020.3.40 به هیچ عنوان خروجی با تارگت 34 نزنید چون در برخی گوشی ها مشکل ایجاد میشه و صدا بازی خطا میخوره یا پخش نمیشه یا یک دفعه قطع میشه یا موقعی که کاربر از بازی یک لحظه میره و میاد یا صفحه خاموش میشه و روشن میشه صدای بازی کاملا قطع میشه که این مشکل از یونیتی هست برید از قسمت ارشیو یونیتی ورژن جدید یونیتی 2020.3.48 رو دانلود کنید و خروجی بزنید این مشکل هم حل میشه حتما این پست رو مشاهده کنید.خیلی عجیب بود این مشکل تو هر گوشی هم این مشکل پیش نمی امد فقط برخی از گوشی های اودیو سورشون خراب میشد حتما برای زدن خروجی با تارگت api 34 از یونیتی 2020.3.40 و بالاتر استفاده کنید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

من نمیدونم چرا گیر دادید ب یونیتی وقتی هم تحریمیم و هم هزینه های بیخودی داره، پیشنهاد من Godot Game Engine هستش حجم کمی هم داره امکانات یونیتی هم داره

لینک ارسال
به اشتراک گذاری در سایت های دیگر

من تجربه Godot Game Engine رو نداشتم تا به حال ولی خوب بیشتر پروژه ها از اول با یونیتی توسعه داده شده اند قاعدتا پروژه که ساخت و بروزرسانیش 3 سال طول کشیده هزینه تغییر موتورش خیلی زیاده 

ولی خوب کاش ی موتور بازی سازی ایرانی بر پایه موتور های اوپن سورس خوب هم بود که از شر این تحریم ها خلاص میشدیم 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

۱۹ دقیقه قبل، ali mo گفته است:

من تجربه Godot Game Engine رو نداشتم تا به حال ولی خوب بیشتر پروژه ها از اول با یونیتی توسعه داده شده اند قاعدتا پروژه که ساخت و بروزرسانیش 3 سال طول کشیده هزینه تغییر موتورش خیلی زیاده 

ولی خوب کاش ی موتور بازی سازی ایرانی بر پایه موتور های اوپن سورس خوب هم بود که از شر این تحریم ها خلاص میشدیم 

Godot اوپن سورس هستش و مشکلی هم بابت تحریم نیست 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...