آموزش های (android application package (apk سیستمی و غیر سیستمی

آموزش پورت برنامه های شرکتی

با سلام

در این آموزش چگونگی پورت یک برنامه مختص یک گوشی شرکتی مانند برنامه های سونی بر روی گوشیهای دیگر را آموزش می دهیم

پیش نیازها

پیش نیازها برای انجام آموزش:

  1. دانستن کامپایل و دیکامپایل فایلهای APK
  2. توانایی پیدا کردن فایلهای کتابخانه ای و فریمورک در برنامه
  3. توانایی استفاده از LogCat

نیازمندیها برای استخراج برنامه از رام

اول از همه نیازه که یک رام زیپ دئودکس شده را دانلود کنید تا برنامه مورد نظر برای پورت را از آن استخراج کنید

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

فایل نصبی برنامه در مسیر system>app یا priv-app

فایل So در مسیر system>lib

فایل jar در مسیر system>framework

فایل xml دسترسی فریمورک در مسیر system>etc>permissions

چگونه بفهمیم به کدام lib نیاز داریم

اگر lib درپوشه خود نرم افزار نبود(خود گوگل از اندروید 5 آن را در خود نرم افزار قرار داده است) دنبال نام نرم افزار در مسیر system>lib باشید

یا موقع نصب برنامه logcat بگیرید در آنجا نوشته کخ مثلا فلان برنامه در کجا فایل lib پیدا نشد

اگر خود lib در نرم افزار وجود داشت،فقط لازم آنرا استخراج کنید و so را کپی کنید

برای کپی کردن so فایل برنامه را باز کنید

مثال ما آلبوم گوشیهای سونی می باشد

فایل SemcAlbum.apk را با winrar باز کنید

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

نام com.sonyericsson.album.apk را به SemcAlbum.apk تغییر دهید

یک پوشه با نام SemcAlbum ایجاد کنید

درونش یک پوشه به نام lib درست کنید

در پوشه lib نیز یک پوشه به نام arm درست کنید

برید به پوشه lib که استخراج کردید و فایلهای so. را انتقال بدید به پوشه SemcAlbum/lib/arm/ که بالا درست کردید

برای فهمیدن اینکه کدام کتابخانه های فریمورک نیاز هست

برنامه را دیکامپایل کنید با خود فریمورک رامی که برنامه را از آن استخراج کردید

فایل AndroidManifest.xml را باز کنید

به کدهای زیر دقت کنید

<uses-library android:name="com.sony.device" android:required="true" />
<uses-library android:name="com.sony.device" android:required="false" />

کدهای علامت زده شده بالا را در فایل AndroidManifest رامی که می خواهید پورت کنید کپی کنید

همچنین فایلهای xml را نیز کپی کنید از مسیر system>etc>permissions

به عنوان نمونه در کد بالا com.sonyericsson.navigationbar اشاره به com.sonyericsson.navigationbar.xml می باشد

در کدهای بالا true به معنی این که برنامه نیاز به فریمورک داره برای اجرا

و false نیز به معنی اجرا شدن برنامه بدون فریمورک است ولی بعضی قابلیتهای برنامه که به فریمورک نیاز دارند عمل نمی کنند

می تونید برنامه را زیپ کنید

اگر برنامه متوقف میشد از آن logcat بگیرید برای رفع اشکال

اگر با خطایی parsing مواجه شدید ورژن اندروید شما پایین است

برای انجام تغییر و اجرای برنامه بر روی ورژن پایینتر اندروید فایل AndroidManifest.xml را باز کنید

minSdkVersion: '16'
targetSdkVersion: '17'

در ورژن بالا آن را به حداقل میرسانیم کد را مانند زیر تغییر دهید

minSdkVersion: '14'
targetSdkVersion: '17'

اما برای هر برنامه ای جواب نمی ده تغییرات بالا

در پستی جدا به آموزش چگونگی رفع خطا می پردازیم

موفق باشید

هر گونه کپی برداری از متن بدون ذکر منبع شرعا حرام و مورد پسند نویسنده نمی باشد

mohsen

محسن هستم 30 ساله طرفدار دنیایی متنوع اندروید و کاستوم رامها در Gsm-Developers

‫9 دیدگاه ها

  1. سلام اقا محسن
    واقعا ممنووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووون

  2. با سلام
    ببخشید آیا با این روش امکان دارد که برنامه موزیک پلیر سامسونگ را قابل اجرا روی گوشی های دیگر مثل هواوی کرد؟!!!!!

    1. سلام سامسونگ خیر کلا امضای سامسونگ برای برنامهاش متفاوت و فقط روی گوشیهای سامسونگ اجرا میشن

      1. اخه نسخه جدیدش پورت نشده و جواب نمیده دیگه قدیمیش میگه اپدیت کن
        اگه ورژن جدید پورت شده لینکی چیزی سراغ داشتید بفرسید برام ممنونم

  3. اخه ورژن جدیدش پورت نشده قبلی هم کار نمیکنه میگه اپ کن
    اگه لینکی چیزی سراغ داشتید برام بفرسید

  4. سلام خسته نباشید

    میخواستم بدونم این قسمت که گفتید

    کدهای علامت زده شده بالا را در فایل AndroidManifest رامی که می خواهید پورت کنید کپی کنید

    این AndroidManifest رو باید از کجا پیدا کنم ؟

    البوم رو دیکامپایل کردم کد های AndroidManifest تو البوم رو هم کپی کردم همینطور که گفتید
    حالا بخوام تو رامی که میخوام نصب کنم بزارم AndroidManifest کجا هست ؟

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا