تغيير در برنامه‌هاي اندرويدي برنامه‌هاي اندرويدي ديگران را دستكاري كنيد

 

در شماره پيش طي مقدمه‌اي در مورد apk-tool توضيح داديم كه اين ابزار چه كارايي‌هايي دارد. در اين شماره قصد داريم با اين برنامه به صورت عملي آشنا شويم و فايل‌هاي APK را تغيير دهيم، سپس يك نسخه جديد از آنها ايجاد كنيم.

در مرحله اول نسخه ويندوزي apk-tool را از لينك زير دانلود كنيد:

code.google.com/p/android-apktool

بعد از اين‌كه فايل زيپ شده را Extract كرديد، با وارد كردن دستور cmd در پنجره Run محيط خط فرمان ويندوز را اجرا كنيد، سپس به پوشه‌اي كه apk-tool را در آن Extract كرده‌ايد، برويد.

حالا كافي است فايل خود را با استفاده از دستور

Apktool d «Path of APK» بسازيد.

مقدار Path of APK برابر آدرس فايل APK مورد نظر شماست. براي مثال به صورت زير است:

Apktool d D:\Click\Jamejam.apk

بعد از وارد كردن اين دستور برنامه apktool مشغول Decompile كردن فايل APK مي‌شود. پس از انجام تمامي مراحل، پوشه‌اي با نام برنامه در كنار خود فايل apktool ساخته مي‌شود كه شامل فايل‌هاي منابع پروژه شما و همچنين يك پوشه با نام smail است كه داخل آن به ازاي هر فايل سورسي كه در پروژه وجود دارد، يك فايل با همان نام و با پسوند smail. ايجاد مي‌شود. اين فايل شامل مشخصات كد نوشته شده است. به عنوان مثال به كد زير دقت كنيد

# virtual methods

.method public onClick(Landroid/content/DialogInterface;I)V

.locals 1

.parameter "dialog"

.parameter "which"

.prologue

.line 28

iget-object v0, p0, Lazure3bt/com/BaseActivity$1;-»this$0:Lazure3bt/com/BaseActivity;

invoke-virtual {v0}, Lazure3bt/com/BaseActivity;-»finish()V

.line 29

return-void

.end method

اين كد مشخص مي‌كند يك متد ويرچوال به نام onClick كه براي يك dialogbox بوده بازنويسي شده و در اين الگو يك Activity به كار خود خاتمه مي‌دهد، خواندن و تغيير دادن آن كار سختي است و امكان دارد با مشكل مواجه شويد، در نتيجه سعي كنيد در تغيير دادن اين فايل‌ها احتياط كنيد و در صورت امكان اين كار را انجام ندهيد.بقيه پوشه‌ها مانند پروژه اندرويدي شماست؛ به طور مثال پوشه res معادل يك پروژه اندرويدي است كه درون آن عكس‌ها و فايل‌هاي انيميشن و منابع متني يك پروژه جاي دارد.شما مي‌توانيد عكس‌ها و متن‌هاي خود را جايگزين كنيد. اگر با برنامه‌نويسي اندرويد آشنا باشيد، با ديدن پوشه res براحتي مي‌توانيد اين كارها را انجام دهيد.اما اگر آشنا نباشيد، در پوشه drawable عكس‌هاي برنامه شما قرار دارد و شما مي‌توانيد آنها را ويرايش كنيد. پوشه Layout مشخصات يك پنجره اندرويدي را مشخص مي‌كند، در values رشته‌هاي متني كه درون برنامه استفاده شده است نگهداري مي‌شود. اين پوشه از پوشه‌هاي اصلي است؛ اما پوشه‌هاي ديگري نيز وجود دارد. براي آشنايي با اين پوشه‌ها مي‌توانيد به نشاني زير مراجعه كنيد:

https://developer.android.com/guide/topics/resources/index.html

علاوه بر پوشه‌ها و فايل‌هايي كه در هر پروژه اندرويدي در پوشه res وجود دارد، شما يك فايل public.xml و ids.xml مشاهده مي‌كنيد. اين فايل‌ها را به هيچ وجه تغيير ندهيد.اما در تغيير اين پوشه‌ها احتياط كنيد، زيرا ممكن است نام فايلي را اشتباه بزنيد و مشخصه يك رشته را عوض كنيد و اين باعث ايجاد خطا در برنامه مي‌شود.در نهايت شما مي‌توانيد به پوشه assets و... دسترسي داشته ‌باشيد.نكته مهم فايل Android.manifest است كه اين فايل اطلاعات فايل APK مانند پايين‌‌ترين ورژن اندرويدي و نام Package را كه با نصب فايل APK درون Android ثبت مي‌شود، مشخص مي‌كند تغيير نام بسته به شما اجازه مي‌دهد يك APK را تحت نام بسته‌هاي مختلف نصب كنيد. با اين كار مي‌توانيد با تغييرات ظاهري، يك برنامه جديد بسازيد كه در كنار برنامه اصلي براحتي نصب شود.





تاريخ : چهار شنبه 21 تير 1391برچسب:, | | نویسنده : مقدم |