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

استاندارد

با سلام

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

پیش نیازها

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

  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'

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

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

موفق باشید

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