رفتن به مطلب
  • 0

خروجی گرفتن apk از داخل برنامه ساخته شده


montazeranmahdi

سوال

سلام خدمت اساتید و دوستان عزیز

میخوام یه برنامه بنویسم تو سبک joapp  .... اما برای گوشی های اندرویدی

بنظر خودم نحوه درست کردنش به اینصورت هست که :

یک برنامه درست کنم که داخل پوشه assest اون یک پوشه باشه که این پوشه در اصل همان پوشه ای هست که قرار هست تبدیل به فایل zip بشه و سپس تبدیل به apk (به عبارتی همون برنامه ای که کاربر قرار هست درستش کنه)

منظورمو متوجه شدید ؟:D

من این کار رو انجام دادم و کاربر برنامه خودش رو به دلخواه طراحی میکنه و همه اطلاعاتی که توی برنامش قرار میده میره توی اون پوشه که گفتم ... بعد روی ساخت برنامه کلیک میکنه و اون پوشه تبدیل به فایل zip و سپس تبدیل به apk میشه.... تمام فایل های مورد نیاز هم توی این فایل apk ساخنه شده وجود داره ... اما مشگل این هست که وقتی کاربر روی برنامه ای که درست کرده کلیک میکنه که نصبش کنه پیام میاد برنامه نصب نشد ... درحالی که همین برنامه رو وقتی با apkeditor بازش میکنی و دوباره کامپایلش میکنی براحتی نصب میشه ... میخوام بدونم که apk editor چیکار میکنه که من نمیکنم .

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

منتظر پاسخ شما عزیزان هستم

یاعلی مدد

لینک ارسال
به اشتراک گذاری در سایت های دیگر

11 پاسخ به این سوال تاکنون داده شده است

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

در 4 ساعت قبل، mohammadjavadmajidi گفته است :

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

.

.

دلیل اینکه وقتی روش بالا ارور میده این هست که پروژه امضا نمیشه ...به اصطلاح همون کی استور .... بنظرتون چطور میشه یه اپ رو امضا کرد ؟

اگر واقعا یه راهی برای این پیدا بشه خیلی از مشکلات حل میشه . . .

سلام 

بزرگوار 

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

این لینک در ان پست را مطالعه ننمودید ؟

 

https://stackoverflow.com/questions/49931372/apk-injection-recompiling-android-manifest

 

 

 ساخت دوباره فایل APK و امضای آن فایل :

:rebuild and sign the apk file

The only reliable way I found to repackage the application with plain text androiod manifest is by repacking it using aapt directly.

aapt package -f -M ./AndroidManifest.xml -S res1/ -S res2/ ... -I android.jar -F MyProject.apk.unaligned
To create the apk, and then :

aapt add -f MyProject.apk.unaligned classes.dex

To add compiled sources to the package.

 

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

*****  ((Then using jarsigner to sign the package))  *****

jarsigner -storepass <keystore password> -keystore <keystore filename> MyProject.apk.unaligned <key name>
** فایل  jarsigner جهت امضای اپ، نیز در داخل پوشه bin متعلق به جاوا (JDK) هست .

فایل aapt.exe جهت کامپایل استاندارد APK هم در پوشه build-tools  در پوشه SDK هست .

________

 

توضیح روش کار :

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

سپس در B4J  با دستور SHELL  وامثال ان فایل اجرایی EXE را با پارامترهایی که درمقابلش هست اجرا میکنید 

میتوانید CMD.EXE را فراخوانی و سپس در ان فایل APPT را اجرا نمایید ، نمونه کدها برای اینکار یعنی اجرای فایل EXE در B4J

در لینک زیر هست 

https://www.b4x.com/android/forum/threads/shell-command-running-on-background.62543/

که این فایل APPT فایل APK اولیه شمارا که ویرایشش کرده اید را دوباره کامپایل میکند

سپس با همان روش فایل اجرایی  jarsigner را جهت امضای اپ جدید با پارامترهای جلوی آن در محیط CMD اجرا کنیدو کلیدهای طولانی و رندوم بدهید تا هراپ جدید کلیدمنحصر به خود را داشته باشد .

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

من یک سورس ساده دارم که کاربر یه متن وارد می کنه بعد امضا و فایل نصبی تولید میکنه.روی همه گوشی ها و تبلت ها جواب میده و نصب هم میشه.فقط من یه مشکل دارم که چطوری بیام پکیج نیم و نام و ورژن برنامه تولیدی را تغییر دهم؟

البته میدونم که باید از مانیفست انجام بشه اما نمیدونم چطوری؟

این کار شدنیه چون برنامه ساز همراه حرفه ای این کار رو میکنه

هرکس میدونه منو درباره این موضوع راهنمایی کنه...منم در عوض سورس رو قرار میدم

با تشکر از همه دوستان فعال انسور سنتر

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 4 ساعت قبل، Amirhossein Ghasemi گفته است :

سلام

من یک سورس ساده دارم که کاربر یه متن وارد می کنه بعد امضا و فایل نصبی تولید میکنه.روی همه گوشی ها و تبلت ها جواب میده و نصب هم میشه.فقط من یه مشکل دارم که چطوری بیام پکیج نیم و نام و ورژن برنامه تولیدی را تغییر دهم؟

البته میدونم که باید از مانیفست انجام بشه اما نمیدونم چطوری؟

این کار شدنیه چون برنامه ساز همراه حرفه ای این کار رو میکنه

هرکس میدونه منو درباره این موضوع راهنمایی کنه...منم در عوض سورس رو قرار میدم

با تشکر از همه دوستان فعال انسور سنتر

سلام داداش ...

سورس رو قرار بده ببینیم ، اینجا کسی بی جواب نمیمونه . . .

کمکت میکنیم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اجازه بدید بیشتر توضیح بدم

.

فرض کنید یک فایل apk  رو پسوندش رو zip میکنیم و بازش میکنیم ... بعد یکی از عکسای داخل پوشه asesst  رو تغییر میدیم و دوباره تبدیلش میکنیم به apk

اما حالا که میخوایم نصبش کنیم میگه برنامه نصب نشد

دلیلش چیه ؟

(همین تغییرات رو وقتی تو apk editor  انجام بدیم برنامه براحتی نصب میشه )

ممنون میشم کمکی کنید . ... . .. .

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام ودرود

منم این مشکل دارم البته به نحوه دیگش

 من وقتی منفیست باز می کنم  رمز گذاری شده که نمیشه اطلاعات خوند و بررسی کرد

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

دوست عزیز اول باید برنامه کامپایل بشه و بعدش با کلید موردنظر اونو ساین کنین..

برنامه apkeditor برنانه رو دیکامپایل میکنه..

فایل منیفست و ریسورس های برنامه به صورت اورجینال دیکامپایل میشه و میتونید تغیرشون بدین ولی کلاس های برنامه به صورت smali دیکامپایل میشه و تغییر دادنش خعلی سخته و بهتره بگم‌نشدنی هست چون حتی به یه فاصله هم حساس هست...

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در در 19 مرداد 1399 در 10:54، ali mo گفته است :

سلام ودرود

منم این مشکل دارم البته به نحوه دیگش

 من وقتی منفیست باز می کنم  رمز گذاری شده که نمیشه اطلاعات خوند و بررسی کرد

 

واقعا باید یه راهی برای این مشکل پیدا کرد خیلی رو مخه خخخ

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 7 ساعت قبل، hamed1212 گفته است :

دوست عزیز اول باید برنامه کامپایل بشه و بعدش با کلید موردنظر اونو ساین کنین..

برنامه apkeditor برنانه رو دیکامپایل میکنه..

فایل منیفست و ریسورس های برنامه به صورت اورجینال دیکامپایل میشه و میتونید تغیرشون بدین ولی کلاس های برنامه به صورت smali دیکامپایل میشه و تغییر دادنش خعلی سخته و بهتره بگم‌نشدنی هست چون حتی به یه فاصله هم حساس هست...

 

آره واقعا سخته ....

اما apkeditor این کارو میکنه ... واقعا کارش درسته

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در در 14 مرداد 1399 در 19:11، mohammadjavadmajidi گفته است :

سلام خدمت اساتید و دوستان عزیز

میخوام یه برنامه بنویسم تو سبک joapp  .... اما برای گوشی های اندرویدی

بنظر خودم نحوه درست کردنش به اینصورت هست که :

یک برنامه درست کنم که داخل پوشه assest اون یک پوشه باشه که این پوشه در اصل همان پوشه ای هست که قرار هست تبدیل به فایل zip بشه و سپس تبدیل به apk (به عبارتی همون برنامه ای که کاربر قرار هست درستش کنه)

منظورمو متوجه شدید ؟:D

من این کار رو انجام دادم و کاربر برنامه خودش رو به دلخواه طراحی میکنه و همه اطلاعاتی که توی برنامش قرار میده میره توی اون پوشه که گفتم ... بعد روی ساخت برنامه کلیک میکنه و اون پوشه تبدیل به فایل zip و سپس تبدیل به apk میشه.... تمام فایل های مورد نیاز هم توی این فایل apk ساخنه شده وجود داره ... اما مشگل این هست که وقتی کاربر روی برنامه ای که درست کرده کلیک میکنه که نصبش کنه پیام میاد برنامه نصب نشد ... درحالی که همین برنامه رو وقتی با apkeditor بازش میکنی و دوباره کامپایلش میکنی براحتی نصب میشه ... میخوام بدونم که apk editor چیکار میکنه که من نمیکنم .

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

منتظر پاسخ شما عزیزان هستم

یاعلی مدد

باسلام

 

اینکه میخواهید مثل جواپ باشه ، خب بهتر است مثل همان جواپ از محیط ویندوز برای اینکار استفاده کنید وپایه کارتان محیط B4J باشد 

وبرای حل این مشکل وکامپایل خروجی بی عیب apk از راه حلی که در ان استفاده از فایل aapt  وjarsigner در این پست زیر پیشنهاد شده استفاده نمایید 

 

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

.

.

دلیل اینکه وقتی روش بالا ارور میده این هست که پروژه امضا نمیشه ...به اصطلاح همون کی استور .... بنظرتون چطور میشه یه اپ رو امضا کرد ؟

اگر واقعا یه راهی برای این پیدا بشه خیلی از مشکلات حل میشه . . .

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

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

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...