mohsen8 815 ارسال شده در 12 اردیبهشت، 2017 اشتراک گذاری ارسال شده در 12 اردیبهشت، 2017 با سلام در آموزش قبلی چگونگی پورت برنامه را آموزش دادیم اکنون با ما باشید تا چگونگی آنالیز و رفع اشکال برنامه ای که پورت کردیم را بررسی کنیم آموزش پورت برنامه های شرکتی از لینک بالا می تونید آموزش پورت برنامه را ببینید بسته شدن برنامه موقع اجرا میتونه سه دلیل داشته باشه که عبارت هستند از کم بودن کتابخانه های فریمورک ناقص بودن فایلهای so. متود جاوا و عملکرد آن با رام کنونی شما همخوانی ندارد از روشهای زیر برای رفع اشکال استفاده کنید کم بودن کتابخانه های فریمورک شما باید به فایل AndroidManifest.xml نگاه کنید تا ببینید چه فریمورکهای نیاز دارید به عکس زیر دقت کنید همانند علامتی که بالا زدیم طبق نام از مسیر system/framework و مسیر system/etc/permissions فایلها را کپی کنید به مسیری که درست کردید برای برنامه ناقص بودن فایلهای so. اینجا کمی سخت بفهمیم که برنامه چه فایلهای so. نیازی دارد باید logcat را نصب و عیب یابی کنید مثلا ligcat چنین خطایی میزنه can’t find class libUXVisualizer در اینجا شما در مسیر system/lib باید فایل libUXVisualizer.so به رامی که می خواهید پورت کنید انتقال دهید متود جاوا و عملکرد آن با رام کنونی شما همخوانی ندارد فاکتورهای زیادی باعث کرش برنامه می شوند در مثال ما برنامه سونی بیشتر با اشکال GetString مواجه می شوند خطاهای مانند زیر بعد از دیدن این log چه باید بکینم؟ برنامه را با استفاده از framework-res.apk دیکامپایل کنید به مسیر smali/com/sonyericsson/metadatacleanup/util/ بروید فایل StorageManagerIf.smali را باز کنید خط 262 را پیدا کنید فایل framework-res.apk خودتان را دیکامپایل کنید به مسیر res/value/ بروید فایل Public.xml را باز کنید طبق StorageManagerIf.smali در خط 262 یک کد مشابه هست >const-string v2, "storage_internal" پس storage_internal را در Public.xml خود جستجو کنید کد زیر را نیز کپی کنید برای تغییر >const-string v2, "storage_internal" invoke-direct {p0, v1, v2}, Lcom/sonyericsson/metadatacleanup/util/StorageManagerIf;->getString(Landroid/content/res/Resources;Ljava/lang/String;)Ljava/lang/String; move-result-object v2 invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v2 برای کوچک کردن کد >const v2, 0x10405ad در آخر کد شبیه زیر می شود >.line 262 .local v0, "description":Ljava/lang/String; const v2, 0x10405ad if-eqz v2, :cond_0 در logcat خطاهای زیادی ممکن بوجود بیاد باید مثل بالا دنبال فایلها باشید و کدها را تغییر بدید وقتی تمام شد فایلها را ریکامپایل ساین و ذخیره کنید لینک در پرتال سایت لینک ارسال
ارسال های توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.