کلیدستان

نسخه‌ی کامل: تغییر نام package برنامه اندروید
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
صفحات: 1 2
سلام به همه.
ببینید دوستان،همه ی برنامه های اندرویدی دارای یک نام بسته یا همون packagename هستن.
حالا داخل عکس بهتون نشون میدم که من مقدار این نام بسته رو تغییر دادم.(این کارو روی نرم افزار گوگل ارث،بیزی باکس،بنچ مارک انجام دادم)اما فقط ارث بود که نصب شد و اجرا شد.بقیه ارور نرم افزاربسته شده را میدادن.
شاید من اشتباهی نام بسته رو تغییر میدم.ببینید:


در اینجا،من اومدم با نرم افزار apk tool ،برنامه رو دیکامپایل کردم،و فایل متنی android manifest.xml رو باز کردم و اونجایی که داخل عکس دورش خط کشیدم رو،یه کلمه ی persian بهش اضافه کردم.
حالا دوباره ریکامپایلش کردم و برنامه رو ساین کردم و بعد هم روی گوشیم نصبش کردم.اما حالا ارور متوقف شدن رو میده برای اجرا.
چرا گوگل ارث اینطوری نشد؟!
آیا من راهو غلط میرم؟
ممنون میشم کمکم کنید.
سلام.
برای آشنایی با نحوه تغییر نام package برنامه اندروید، کلید زیر را بخوانید :

http://www.kelidestan.com/keys/keys.php?key=225


 
یک سوال : برنامه apk tool که گفتید، تمامی برنامه های اندروید رو decompile میکنه ؟ منظورم اینه که کامل decompile میکنه یا اینکه فقط یک فایل هایی میسازه که میشه تبدیلش کرد به فایل apk و نصبش کرد (اما بخش هایی از برنامه اصلی رو نداره). اگر در مورد تجربتون در زمینه کار با این نرم افزار کمی توضیح بدید ممنون میشم.
بله....خواهش میکنم.
من از این برنامه بیشتر برای فارسی کردن نرم افزارها استفاده میکنم.کارکردن خیلی باهاش راحته،چون خودش کلیدها رو تعریف کرده.البته تا اونجایی که من باهاش کارکردم،یک سری از برنامه هارو داخل میشه فارسی کرد،اما خروجی اون فایل آخری رو برای ساین کردن نمیده.مثلا نرم افزار تانگو.
اینم تصویر یک نرم افزار دیکامپایل شده با این نرم افزار:


یه نرم افزار دیگه هم هست در این زمینه که به نظر من کامل تره.
اسمش TickleMyAndroid اینه.
که داخل میشه قبل از کامپایل کردن،امضا خود ویرایش گر رو به برنامه بدی.و حتی میشه آیکون باطری رو هم تغییر داد.البته من تجربه ی بیشتری از کارکردن با این نرم افزار نمیدونم،چون تازه گرفتمش.
داداش....کاش آموزشی که لینکشو دادی،تصویری بود.
من الان نمیدونم چی به چیه؟!!
از توضیحاتتان سپاسگذارم. 
برای آن کلیدی که لینکش را داده بودم، چند عکس نیز قرار دادم تا بهتر متوجه شوید. توصیه می کنم ابتدا بر روی یک پروژه کوچک، آن روش را امتحان کنید و سپس بر روی پروژه اصلی، روش را به کار ببرید.


 
دستت درد نکنه. خیلی خوب بود. من با این که دو سه شبه دنباله همچین چیزی میگشتم، اما پیداش نمیکردم.
فقط کاشکی توضیح میدادی که اگه بخوام یک پروژه ای که از قبل ایجاد شده و برنامه ساخته شده رو چه جوری اینجا تعریف کنم که فایل و پوشه هاش نمایش داده بشه؟
آیا قبلش باید برنامه رو دیکامپایل کنم؟
ممنون میشم اگه با عکس باشه.
(۱۳۹۳/۰۲/۲۰, ۰۳:۱۲ ب.ظ)'batman1' نوشته: [ -> ]دستت درد نکنه. خیلی خوب بود. من با این که دو سه شبه دنباله همچین چیزی میگشتم، اما پیداش نمیکردم.
فقط کاشکی توضیح میدادی که اگه بخوام یک پروژه ای که از قبل ایجاد شده و برنامه ساخته شده رو چه جوری اینجا تعریف کنم که فایل و پوشه هاش نمایش داده بشه؟
آیا قبلش باید برنامه رو دیکامپایل کنم؟
ممنون میشم اگه با عکس باشه.

 


اگر فایل های پروژه اندروید را دارید و می خواهید آن را به درون برنامه eclipse وارد (import) کنید (تا بعد بتوانید از آن فایل apk بسازید یا ویرایشش کنید)، کلید زیر را بخوانید (یک راهنمای تصویری) :

http://www.kelidestan.com/keys/keys.php?key=321

ببخشید،من اینجا رو متوجه نشدم:در این پنجره باید پوشه (folder) مربوط به پروژه اندروید را انتخاب کنیم و سپس بر روی گزینه OK کلیک نماییم. نکته مهم در این مرحله این است که نباید پوشه اصلی (root) پروژه اندروید را انتخاب کنیم، بلکه باید آن را در یک پوشه دیگر قرار داده و سپس آن پوشه دیگر را انتخاب نماییم (عدم توجه به این نکته، می تواند باعث به وجود آمدن خطای Invalid project description بشود).بنابراین، پس از انتخاب پوشه مربوط به پروژه اندروید، نام آن، نمایش داده می شود :
دقیقا باید چی رو انتخاب کنم؟فایل apk و که نمیخونه!!!
چیرو باید انتخاب کنم؟
ممنون.
(۱۳۹۳/۰۲/۲۰, ۱۱:۵۷ ب.ظ)'batman1' نوشته: [ -> ]ببخشید،من اینجا رو متوجه نشدم:در این پنجره باید پوشه (folder) مربوط به پروژه اندروید را انتخاب کنیم و سپس بر روی گزینه OK کلیک نماییم. نکته مهم در این مرحله این است که نباید پوشه اصلی (root) پروژه اندروید را انتخاب کنیم، بلکه باید آن را در یک پوشه دیگر قرار داده و سپس آن پوشه دیگر را انتخاب نماییم (عدم توجه به این نکته، می تواند باعث به وجود آمدن خطای Invalid project description بشود).بنابراین، پس از انتخاب پوشه مربوط به پروژه اندروید، نام آن، نمایش داده می شود :
دقیقا باید چی رو انتخاب کنم؟فایل apk و که نمیخونه!!!
چیرو باید انتخاب کنم؟
ممنون.

با فایل apk کاری نداریم، چون باید فایل های پروژه اندروید را داشته باشیم و هنگام import کردن، نیازی به فایل apk نیست.
فایل ها و پوشه های پروژه اندروید درون یک پوشه اصلی قرار گرفته اند که به آن پوشه root می گوییم :


برای تشخیص پوشه root ، ببینید فایل AndroidManifest.xml در کدام پوشه است، آن پوشه، همان پوشه root می باشد. شما ابتدا مراحل را طی کنید و پوشه root را انتخاب کنید، اگر آن پیام خطا نمایش داده شد، پوشه ای را انتخاب کنید که در آن، پوشه root قرار دارد (تا دیگر با پیام خطا روبرو نشوید).

عزیز.....این تصویر برنامه ی دیکامپایل شده:
گزینه ای به نام root وجود نداره!!
من داخلشو گشتم!!
خود پوشه هم که همه ی این پوشه ها و فایل ها توشه رو import میکنم،هرچی روی دکمه ی finish میزنم،عمل نمیکنه!!
کجا رو دارم اشتباه میرم؟!

پوشه root که گفتم، یک اصطلاح است. یعنی پوشه حاوی فایل های پروزه اندروید را به اصطلاح پوشه root می نامیم (گزینه یا پوشه ای به این نام نداریم).
ممکنه مشکل از پروژتون باشه.
توصیه می کنم یک پروژه ساده را به درون برنامه eclipse وارد کنید تا خوب با روند وارد کردن (import) آشنا شوید و بعد به سراغ این پروژه بروید.

دِ همین دیگه.......مشکل ما که یکی دوتا نیست.
داخل این مرحله،هرچی روی دکمه ی Finish میزنم،عمل نمیکنه.یعنی import نمیشه!!!  
هیچ خطایی نمایش داده نمی شود ؟ منظورم اینه که پنجره ای باز بشه که اخطار بده ؟ یا در همون پنجره، پیامی نمایش داده بشه ؟
 
اصلا اخطاری داده نمیشه!!!
یه سوال:
وقتی که SDK رو نصب میکنیم،یه مرحله داره که داره فایل های Fetching رو دانلود میکنه.آیا اون فایل ها به این جا ربطی داره؟یعنی به import کردن؟
حالا من چی کار کنم؟این که پورت نمیشه؟!!
نه، برای import کردن، نیازی به دانلود آن موارد نیست.
ببینید حدس می زنم که مشکل از پروژه اندروید مورد نظر می باشد. شما به کلید زیر مراجعه کنید :

http://www.kelidestan.com/keys/keys.php?key=215

این کلید، شامل یک پروژه اندروید بسیار ساده است که فایل آن را در انتهای صفحه، می توانید دانلود کنید. امتحان کنید که آیا این پروژه اندروید، import می شود یا خیر.

آقا،متاسفانه پورت نشد!!!!!!
یه نکته:
وقتی من میرم داخل اکلیپس،این دوتا ارور میاد.یعنی چی؟!
من که اندر حکایت این برنامه موندم.
اصلا بیا یه کاری کنیم.
شما لینک همه ی برنامه هایی که پیشنیاز و پس نیاز نصب اکلیپس هستن که خودت داری از اونا استفاده میکنی رو بده،تا من با شما هماهنگ باشم.(از لحاظ نرم افزاری)
اونوقت میتونیم اطمینان حاصل کنیم که از لحاظ نرم افزاری،هردو یکسان هستیم و نرم افزار مشکلی نداره.
من از ADT Bundle استفاده می کنم که تمامی پیش نیازهای لازم برای برنامه نویسی اندروید را دارد. 
برای دانلود، لینک زیر را ببینید :

http://www.kelidestan.com/android/androi...bundle.php

دوست عزیز........با نصب این نرم افزار ADT که لینکش رو گذاشتی،احتیاجی نیست که JDK یا SDK نصب بشه؟
جاوا ران تایمو دارم.
اکلیپس چی پس؟
میخوام همه چیمون مثل هم باشه تا خیالم راحت شه.
تنها یک پیش نیاز دارد که در همان لینکی که نوشتم، برای دانلود گذاشته شده.
هیچ مورد دیگری نمی خواهد.


 
ممنون. پروژه ایجاد شده.
خدا از خواهری/برادری کمت نکنه.
ببخشیدا.......آخه من هنوز نمیدونم شما خانمی یا آقا.
یه سوال دیگه:
اولا چرا برای من فایل Activity رو نداره؟!
دوما چرا برای من دوتا pahage name باز شده؟!(زیاد با آموزش شما نمیخونه!!)

راستی.....آموزش طرز ساختن ماشین مجازی هم در اکلیپس رو میخواستم.
وقتی که نام package name تغییر کرد،باید ریکامپایل بشه دیگه.درسته؟
شما چه جوری ریکامپایل میکنید؟و اصلا چه جوری دیکامپایل میکنید؟
ممنون.

 
راستی،داخل آموزش تغییر package name گفته بودید که روش دوم در بعضی مواقع عمل نمیکنه،چرا؟
اینکه هیچ Activity وجود ندارد مربوط به نرم افزاری است که برای decompile استفاده کرده اید. اگر دقت کرده باشید، من در مورد کارآمدی آن از شما پرسیدم زیرا می دانستم که اکثر نرم افزارهایی که برای decompile ساخته شده اند، کارآیی لازم را ندارند. از نظر بنده، نرم افزاری را می توان به عنوان decompiler در نظر گرفت که :
بتواند فایل های پروژه اندروید را به صورت کامل بسازد، به گونه ای که آن را به درون برنامه eclipse وارد کرده و دوباره فایل apk از پروزه اندروید بسازیم و اگر آن را بر روی یک گوشی نصب کنیم، هیچ تفاوتی با برنامه اصلی نداشته باشد.
یا حداقل برای برنامه نویس ها :
کدهای نوشته شده در Activity ها و کلاس ها (class) را بتوانیم به خوبی مشاهده کنیم.

-----------------

در هر پروژه اندروید، می توانیم package های جدید تعریف کنیم (البته یکی  package اصلی برنامه اندروید است)، حالا این پروژه، دو تا داشته.

---------------

من برای decompile کردن تعدادی نرم افزار را تست کردم که تنها یکی به خوبی عمل می کرد. همین که کدهای Activity ها را دیدم برایم کافی بود و تنها نکته مهم برایم این بود که آیا کسی می تواند کدهای Activity ها و کلاس ها را بخواند یا خیر (برایم داشتن پروژه اندروید به طور کامل، اهمیتی نداشت). برای کدنویسی هم تا دلتون بخواد توی اینترنت کد آماده است و بعید می دونم برنامه نویس ها حوصلشون بشه کد دیگران رو بخونن (در واقع فقط به درد کسی میخوره که بخواد نقاط امنیتی برنامه رو پیدا کنه یا برای کسانی که می خواهند برنامه ها را فارسی سازی کنند).
برنامه ای که من استفاده کردم، اسمش AndroChef Java Decompiler بود (روش هایی برای decompile وجود دارد اما من به سراغ آنها نرفتم، می توانید کمی در اینترنت جستجو کنید).

--------------

برای ساخت ماشین مجازی، مباحث اولیه موجود در سایت رو بخونید.

---------------

چون آن روش دومی که گفتم یک بار جواب نداد و پروژه را خراب کرد، این تذکر را دادم.

--------------

لطفا سوالات جدید (غیر مرتبط به سوال اولیه) را در موضوع جدید بپرسید و در ضمن، تصاویر را کوچکتر بگیرید و پیوست ارسال کنید (نه لینک به سایت ها).

عزیز.....کاش یه توضیحی درمورد نرم افزاری که معرفی کردید،میدادید.
شما یه نگاه به این عکس بنداز.اینا چیه؟
پوشه ی دیکامپایل شده،کجاست؟
برای ریکامپایل کردن هم باید از این نرم افزار استفاده کرد؟
داخل این نرم افزار دیکامپایلر،کلی گزینه وجود داره که همش،به جز چندتاش تیک خورده.اونا چین و آیا باید تیکشون را اضافه کنم؟
چه طوری باید عکس رو پیوست کرد؟
ممنون.

من خودم اون زمانی که با این نرم افزار کار می کردم، فقط تا دیدم کدهای Activity ها و کلاس ها (class) رو میتونه نمایش بده، دیگه باهاش کار نکردم (چون فقط همین برام مهم بود). ولی تنها چیزی که یادمه اینه که کدها رو در فایل Jar قرار میداد، توی عکسی که شما گذاشتید هم همون فایل Jar نمایش داده شده. ولی خوب معلومه که ساختار اصلی پروژه اندروید (مثل فولدربندی ها، عکس ها و ...) را ندارید. 
فکر کنم باید به دنبال روش ها یا نرم افزارهای بهتری باشید. 

برای پیوست عکس، هنگام نوشتن ارسال، یک گزینه برای پیوست کردن انواع فایل وجود دارد، یعنی جلوی عبارت ((پیوست تازه‌)). 
با خود اکلیپس،نمیشه دیکامپایل کرد؟
اصلا راهی داره؟!!؟؟!
داداش.....یه نگاه به این عکسا بنداز،ببین،اینا فایلای Activity هستن.همون فایل هایی که نیازه.
ان شاءالله که باشه.
نه با eclipse نمیشه decompile کرد.

----------------------------------------------

راستی منظورم از کوچکتر گرفتن عکس ها، این بود که تنها از بخشی از صفحه عکس بگیرید، نه اینکه عکس ها رو کوچک کنید (چون کیفیتش خراب میشه و چیزی معلوم نیست). همون بزرگتر بهتره.

----------------------------------------------

شما تا یک پروژه اندروید را به طور کامل بررسی نکنید، با ساختار آن آشنا نمی شوید (قبلا یک لینک دادم که می توانید پروژه اندروید آن را دانلود کنید و ساختار فایل های آن را بررسی کنید). چرا از من تایید می خواهید ؟ خوب خیلی راحت ببینید که آیا ساختارش درست هست یا نه و اینکه آیا فایل apk می توان از آن ساخت یا نه. خودتون برید و ساختار پروژه های اندروید رو ببینید. 
راستش......من کدهای اون عکس هایی رو که برای شما فرستادم رو با فایل های Activity شما چک کردم،دیدم که سورس کدهاش،تا 90% شکل همدیگس.
حالا اگه اینا همون Activity ها باشن،چرا اینجا اومدن؟!
بالاخره شما از من واردتر هستید.میخواستم تایید بفرمایی که آیا،ااینا همون فایل های Activity هست؟
به نظر من که هستن.......به نظز شما چه طور؟
درضمن،ساختن فایل APK از اون پروژه ها که کاری نداره،ریکامپایلشون میکنی،و تمام.
مهم اینه که پس از تغییرات و ریکامپایل کردن و ساین کردن،نصب و اجرا بشن.
ببینم،اصلا شما تا به حال برنامه ی اندرویدی رو دیکامپایل-ریکامپایل کردید؟یا فقط اونا رو ساختید؟
گرچه بعد از ساخت پروژه هم باید پوشه ها و فایل های پروژتون رو ریکامپایل کنید،تا بتونید ازشون روی گوشی استفاده کنید.
با چی ریکامپایل میکردید؟
ببخشید......یه چیزی برام مبهمه.
شما چه جوری از پروژتون،فایل APK رو ساختید؟
به یه موضوع جالب برخوردم.
من نرم افزاری که برای پروژه ی شما بود رو دیکامپایل کردم(APK)،بعد داخل اکلیپس پورتشون کردم، فایل های activity داخلشون بود.اما جاش فرق میکرد.ولی بود.
اما چرا برای نرم افزاهای خودم نیست؟!
این یعنی این که دیکامپایلر من درسته،مشکل از جای دیگس!!
نظر شما چیه؟
نگاه کنید.این فایل APK شماست:
من پروژه اندروید رو در برنامه eclipse ایجاد می کنم (یا اگر قبلا آن را ساخته باشم، آن را import می کنم)، بعد کدهای مورد نظرم برای برنامه اندروید را در آن نوشته و سپس فایل APK می سازم. برای آشنایی با چگونگی ساخت فایل APK از پروژه اندروید در برنامه eclipse ، کلید زیر را بخوانید :

http://www.kelidestan.com/keys/keys.php?key=210

دقت داشته باشید که برنامه eclipse ، زمانی که می خواهیم فایل APK از پروژه اندروید بسازیم، پروژه را خطایابی می کند و اگر مشکلی در ساختار آن پیدا کند، تذکر می دهد و فایل APK را نمی سازد. 
عکسی که گذاشتید را دیدم، اصلا پسوند فایل ها java نیست ! پسوند فایل ها را به صورت smali ایجاد کرده و این یعنی برنامه decompiler مشکل دارد (من تا حالا چیزی در مورد فایل با پسوند smali نشنیدم).
اگر شما فایل های پروژه اندروید را دارید و فایل APK آن را هم دارید و بعد از یک برنامه decompiler استفاده می کنید و فایل هایی که به شما می دهد، با فایل های پروژه متفاوت است و قابل استفاده نیست (فایل APK را برنامه eclipse نمی سازد و خطا می دهد)، دیگر شک نکنید که مشکل از برنامه decompiler است. 

خب......حالا تکلیف چیه؟
من هرچی داخل اینترنت گشتم،نرم افزاری پیدا نکردم که کامل این کارو بکنه.
خودمون میتونیم براش بسازیم؟
عزیز....من خودم یه activity واسه پروژم ساختم،هر پروژه،چندتا activity باید داشته باشه؟
اصلا این کار درسته؟
آقا،این ضربدرهای داخل عکس یعنی چی؟
ثابتم نیستن،بعضی موقع ها که از نوع پروژه رو ایمپورت میکنی،جاشون عوض میشه!!
در مورد ساخت Activity که گفتین، اگر برای تصحیح آن پروژه هایی است که از decompile به دست آوردید، فکر نمی کنم نتیجه بگیرید. اما اگر برای پروزه خودتان است، ساخت Activity بخشی از برنامه نویسی اندروید است. پاسخ سوالات شما در مباحث اولیه برای آشنایی با برنامه نویسی اندروید هست، آنها را بخوانید تا با مفهوم Activity به طور کامل آشنا شوید.

-------------------

آن ضربدرها مربوط به علامت خطا است که قبلا در کلید زیر شرح داده شده :

http://www.kelidestan.com/keys/keys.php?key=262

-----------------

برای decompile کردن برنامه های اندروید، باید در اینترنت جستجو کنید، در این زمینه، در همین حد که تاکنون شما را راهنمایی کردم، اطلاعات داشتم.

صفحات: 1 2