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

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


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

How-to-Port-OEM-Apps.jpg

با سلام

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

 

 

پیش نیازها

 

 

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

 

 

  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 را کپی کنید

port-app-1.jpg

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

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

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

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

port-app-2.jpg

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

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

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

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

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

port-app-3.png

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

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

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

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

port-app-4.png

><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'
 

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

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

موفق باشید

 

لینک در پرتال سایت

لینک ارسال
  • 3 ماه بعد...
فیلم آموزشی دارین؟

 

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

لینک ارسال

بایگانی شده

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

×
×
  • اضافه کردن...