الكمبيوتر الكفي

الكمبيوتر الكفي (http://www.ce4arab.com/vb7/index.php)
-   ملتقى المطورين لنظام Google Android (http://www.ce4arab.com/vb7/forumdisplay.php?f=124)
-   -   الدرس السادس: [دورة تعليميه - الدرس 6] تعلم صنع تطبيقات الاندرويد بالتفصيل - تصدير البرامج بصيغه APK (http://www.ce4arab.com/vb7/showthread.php?t=333623)

stinger1 04-07-2011 11:44 AM

الدرس السادس: [دورة تعليميه - الدرس 6] تعلم صنع تطبيقات الاندرويد بالتفصيل - تصدير البرامج بصيغه APK
 
[RIGHT]السلام عليكم ورحمه الله

درس اليوم ان شاء الله هو عن كيفيه تحويل او تصدير البرامج لصيغه apk حتى تتمكن من تثبيتها على الهاتف او رفعها على الماركيت او مواقع الرفع المتعدده...

اولا نحتاج توضيح مفهوم وهو ال sign او التوقيع وهو عباره عن توقيع الكتروني مميز
لا يتكرر ومهمته هو توقيع البرامج التي تنتجها ويشكل ما يشبه البصمه.

فتكون الخطوات هي انتاج ملف ال apk ثم توقيعه وبهذا يصبح ملف موقع يمكن تثبيته على الهواتف

الاضافه ADT اذا كنتم تذكرونها .. تقوم بكل هذا العمل عنا بشكل مبسط...
يلزمنا اولا انشاء ما يسمى keystore او مخزن المفتاح وهو ملف يحوي التوقيع الذي ستسعمله
ويكون محمي بكلمه سر...
هذا الملف يتم انشاءه ومن ثم استعماله من قبل ال ADT لكي يوقع البرامج
ويمكنك نقله من حاسوب لاخر لكي توقع برامجك عليه ، هذه الحاله مفيده بحاله كنت تعمل على اكثر من حاسوب ولكنك تريد توقيع برامجك بنفس الملف، ولكن قد يسأل احد ... لماذا استعمال نفس ال مخزن .. يمكنني انشاء ملف اخر ... والاجابه تكون انه عند عمل تحديثات update لبرنامجك ورفعها مره ثانيه على الماركيت او مكان الرفع الذي تستعمله ... اذا كانت التواقيع مختلفه (يعني من ملفين مخزن مختلفين) عندها واذا اراد شخص اعاده تثبيت التحديث فأنه سيفشل وسيتظهر له رساله خطأ على الهاتف مفادها ان التواقيع غير متطابقه وبهذا يجب عليه حذف النسخه القديمه وتثبيت الجديده ... ومن هنا تأتي اهميه الملف الموحد ... لكي تكون كل تطبيقاتك وكل تحديثاتها موقعه من نفس الملف بنفس التوقيع

قد اكون اطلت بالشرح السابق لانه مهم ومهم ان نعرف ماذا نفعل ... هي ليست مجرد خطوات 1 2 3 لكنني احرص على ان تفهمو ما الذي يحدث ...

الان نفترض انك انهيت برنامجك واصبحت جاهزا لنشره...

***** نبدأ ... اولا انشاء ملف المخزن او keystore (نقوم بهذا مره واحده)

1- تعمل كليك يمين على مجلد المشروع الرئيسي من داخل الايكليبس

** ابحث بالقائمه عن خيار build project واضغط عليه ... تأكد انه لم يعطي رسائل خطأ او اشاره x حمراء... اذا لم تجد هذا الخيار يكون محدد بشكل تلقائي ... اذا انت جاهز للمتابعه

2- نختار من القائمه التي تظهر android tools وهو الخيار قبل الاخير
3- من القائمه الفرعيه التي تظهر نختار export signed application package
[IMG]http://www.ce4arab.com/vb7/images/sub/07_2011/408956.png[/IMG]
4- من المربع الذي يظهر يكون به اسم المشروع الذي ترغب بتصديره .. اضغط next
5- يأتيك خيارين بأعلى المربع ... اختر create new keystore
6- اضغط browser وحدد المكان الذي تريد انشاء الملف به ... حاول ان لا يكون على القسم c حتى لا تفقد الملف بحاله عطب القسم c لنفرض انك حددت d:\mystores الان بخانه الاسم اكتب اسم الملف مثلا mykeystor واضغط save
7- عبئ حقلين password و confirm بكلمه السر التي ترغب بحمايه المخزن بها ... واضغط next

ستظهر هذه الشاشه وهي لانشاء المفتاح نفسه الموجود داخل المخزن
[IMG]http://www.ce4arab.com/vb7/images/sub/07_2011/408957.jpg[/IMG]
- الحقل الاول معبأ ... لا تغيره
- الحقل الثاني والثالث كلمه السر password يمكنك استعمال نفس كلمه السر الاولى وهو الافضل حتى لا تتشتت
- validity years مده الصلاحيه ... عبئ مثلا 110
- من القسم الاسفل على الاقل حقل واحد مطلوب ... عبئ الاسم وهو اسمك واذا اردت اكمال البقيه يجوز ذلك واعتقد انه افضل ...
ثم اضغط next

الان انهينا الاجراءات اللازمه لانشاء المخزن وملف المفتاح للتوقيع

الان يسألك عن المكان الذي تريد تخزين ملف ال apk به يفضل ان يكون داخل مجلد البرنامج نفسه
اختر المكان من خلال browse وحدد اسم الملف apk الذي تريده واضغط save
وعلى المربع الرئيسي اضغط finish

الان اصبح هناك ملف apk جاهز للتثبيت على الهاتف او الرفع على الماركيت او الرفع والارسال لاي مكان

في المرات التاليه ... عندما تختار export signed application ... لا تختار create new كما في الخطوه 5 بل اختار use existing
[IMG]http://www.ce4arab.com/vb7/images/sub/07_2011/408958.png[/IMG]
ومن خلال الزر browse حدد مكان ملفك الذي انشأته d:\mystores\mykeystore
وضع كلمه السر و next ومن الشاشه التاليه
افتح القائمه ستجد الاسم مره ثانيه اختاره واكتب كلمه السر الثانيه التي حددتها مسبقا وتابع الخطوات كما في الشرح اعلاه (لن تحتاج انشاء المفتح مره اخرى: الشاشه التي بها validity year لن تظهر مره ثانيه)

ان شاء الله الموضوع بسيط ومفهوم وانا جاهز للاسئله ان شاء الله


[COLOR="Red"]تم اخذ بعض الصور من موقع
[url="http://tordtech.blogspot.com/2009/10/signing-android-applications.html"]My Android corner: Signing Android applications[/url]
لكن الشرح مني بفضل الله
[/COLOR]

اخوكم يزن - الاردن


فهرس الدوره
[url="http://www.ce4arab.com/vb7/showthread.php?t=325071"][دورة تعليميه] تعلم صنع تطبيقات الاندرويد بالتفصيل - الكمبيوتر الكفي[/url][/RIGHT]

زيتون 04-07-2011 12:06 PM

بارك الله فيك ، وجعل ما قدمته في موزاين حسناتك ...

:)

adimahmoud 04-07-2011 12:44 PM

جزاك الله كل الخير

seemee2002 05-07-2011 05:54 AM

شرح رائع اخي يزن بالتوفيق ان شاء الله

rgdd 05-07-2011 07:44 AM

رائع

اتمنى اجد وقت معك وابدا

stinger1 05-07-2011 08:50 AM

حياكم الله اخواني الرائعين
واتمنى من كل قلبي التوفيق للجميع

adimahmoud 05-07-2011 08:54 AM

بارك الله فيك يا مبدع

mahersorakhy 10-07-2011 10:19 AM

اخي العزيز يزم هل ممكن الحصوول على ايميلك ... او ممكن تراسلني على [email]maher.sorakhy@gmail.com[/email]

hskeik 10-07-2011 12:17 PM

و عليكم السلام و رحمة الله و بركاته

stinger1 11-07-2011 11:12 AM

[quote=mahersorakhy;2630238]اخي العزيز يزم هل ممكن الحصوول على ايميلك ... او ممكن تراسلني على [email]maher.sorakhy@gmail.com[/email][/quote]

اخي لو تكرمت اطرح سؤالك هنا حتى تعم الفائده
واذا كان هناك داعي سأقوم باضافتك ان شاء الله

mahersorakhy 11-07-2011 01:46 PM

اخي العزيز يزن شكرا جزيلا على الاهتمام ..عندي مشكلة في استخدام webservice من خلال الاندرويد هل يوجد لك اي فكرة عن كيفية استدعاء NET webservice. طبعا انا بحث في الانترنت ولقيت لكن الامثلة الموجوده تعطي اخطاء وممكن ارسلك ال project الذي قمت بعمله ؟ اذا عندك اي فكرة ممكن ترسلي او تحط درس عن هذا الموضوع وشكرا.

أسيــ عيونك ــر 14-09-2011 04:34 AM

السلام عليكم أخ يزن
أنا عندي تطبيق ع جهاز الكمبيوتر
وبدي أحطو جوا برنامج المحاكي تبع الأندرويد
كيف الطريقة يا ليت تفيدني
وهل أستطيع إضافة الماركيت على نفس البرنامج
يا ريت توضحلي أخ يزن عشان تعم الفائدة جزاك الله كل خير

stinger1 14-09-2011 02:54 PM

[quote=mahersorakhy;2634220]اخي العزيز يزن شكرا جزيلا على الاهتمام ..عندي مشكلة في استخدام webservice من خلال الاندرويد هل يوجد لك اي فكرة عن كيفية استدعاء NET webservice. طبعا انا بحث في الانترنت ولقيت لكن الامثلة الموجوده تعطي اخطاء وممكن ارسلك ال project الذي قمت بعمله ؟ اذا عندك اي فكرة ممكن ترسلي او تحط درس عن هذا الموضوع وشكرا.[/quote]

اسف جدا على التأخر بالرد اخي
حقيقه لم اقم بعمل مثل هذا من قبل
لكن هناك طريقه قد تنجح وهي ان تقوم بعمل jar يحوي مناداه ال web-service
مبني بالجافا العاديه ومن ثم تعمل له include في مشروع الاندرويد وتستعمله

نعم ارسل لي المشروع وان شاء الله احاول
وارسل رابط ال webservice


[quote]السلام عليكم أخ يزن
أنا عندي تطبيق ع جهاز الكمبيوتر
وبدي أحطو جوا برنامج المحاكي تبع الأندرويد
كيف الطريقة يا ليت تفيدني
وهل أستطيع إضافة الماركيت على نفس البرنامج
يا ريت توضحلي أخ يزن عشان تعم الفائدة جزاك الله كل خير[/quote]
نعم اخي باستعمال ال adb الموجوده في مجلد ال sdk
قم بتشغيل المحاكي وبعد ان يعمل بشكل كامل استعمل الامر (من خلال cmd للويندوز):
[php]adb install c:\xxx.apk[/php]

حيث xxx.apk هو الاسم للتطبق مع مساره كاملا ويجب ان تستعمل ال " قبل وبعد
اذا كان الاسم او المسار به فراغات، مثلا
[php]adb install "c:\my apps\fun.apk"[/php]

للتأكد ان ال adb يميز المحاكل وقبل تنفيذ امر ال install نفذ الامر
[php]adb devices[/php]
يجب ان يعطيك شيء مثل رقم تسلسلي او اسم للمحاكي ... عندها يكون كل شيء جاهز لل install

clever code 07-10-2011 04:10 PM

[CENTER][SIZE=5][COLOR=teal][B]انا واجهتني مشكلة في حفظ التطبيق [/B][/COLOR][/SIZE][/CENTER]

[CENTER][SIZE=5][B][COLOR=teal]وهذي صورة الخطأ[/COLOR] [/B][/SIZE][/CENTER]

[CENTER][SIZE=5][IMG]http://www.ce4arab.com/vb7/images/sub/10_2011/514387.png[/IMG][/SIZE][/CENTER]

stinger1 07-10-2011 05:25 PM

[quote=clever code;2887489][CENTER][SIZE=5][COLOR=teal][B]انا واجهتني مشكلة في حفظ التطبيق [/B][/COLOR][/SIZE][/CENTER]

[CENTER][SIZE=5][B][COLOR=teal]وهذي صورة الخطأ[/COLOR] [/B][/SIZE][/CENTER]

[CENTER][SIZE=5][url]http://www.ce4arab.com/vb7/images/sub/10_2011/514387.png[/url][/SIZE][/CENTER][/quote]

بأي خطوه ظهر هذا الخطأ وهل كان اثناء انشاء ال keytore او انك تستعمل واحد موجود مسبقا؟

clever code 07-10-2011 06:21 PM

النهاية في عمل export signed application

في حفظ ملف apk

stinger1 08-10-2011 11:52 AM

[quote=clever code;2887875]النهاية في عمل export signed application

في حفظ ملف apk[/quote]

حاول تحذف ملف ال keystore وانشئ واحد جديد
لا اعرف صراحه السبب
يمكنك ذلك من خلال حذف الملف الذي تم انشاؤه (ملف الكيستور)
وعند عمل تصدري اختر
انشاء مفتاح جديد
وتابع الخطوات
لا تنسى ضع صلاحيه المفتاح اقل شيء 25 سنه

clever code 08-10-2011 06:07 PM

الله يعطيك العافية ماقصرت

أبوأسامة 22-10-2011 03:48 PM

يالغالي عندي برامج للأندرويد وأبغى أسويلها sign وكلما حصلت طريقة لقيت فيها مشاكل
الله لا يهينك أبغى منك طريقة بسيطة علشان أحل هذي المشكلة

stinger1 23-10-2011 10:30 AM

[quote]يالغالي عندي برامج للأندرويد وأبغى أسويلها sign وكلما حصلت طريقة لقيت فيها مشاكل
الله لا يهينك أبغى منك طريقة بسيطة علشان أحل هذي المشكلة[/quote]

صراحه الايكليبس يقوم بكل العمل بضغطه زر

لكن هذه الاوامر التي يقوم بها الايكليبس

نلاحظه يجب ان تكون بيئه العمل لديك معده من تنزيل جافا وما الى ذلك

1- استعمل الايكليبس لانشاء keystore جديد... ليكن اسمه مثلا myKey
ضعه في مكان معروف مثلا
[php] c:\[/php]

... من شرحي اتبع الخطوات لحد خطوه رقم 7 وتوابعها يعني لغايه الجمله [quote]الان انهينا الاجراءات اللازمه لانشاء المخزن وملف المفتاح للتوقيع[/quote]

2- نفذ هذا الامر في cmd
[php]
jarsigner -verbose -keystore myKey xxxxxx.apk alias_name
[/php]
حيث ان alias_name هو اسم المفتاح داخل المخزن

الان اصبح ملف ال apk موقع signed.

ملاحظه: الامر jarsigner هو ملف تنفيذي موجود في مجلد الجافا بالمجلد الفرعي bin
تأكد ان تضع كامل المساارات للوصول لكل من ملف ال apk وملف المفتاح keyStore وكذلك ملف jarsigner
وتأكد من ان تضع " اذا كان المسار به فراغات...او ضعها بكل الاحوال لن تضر مثلا قد يكون الامر كما يلي:


[php]
"c:/java/jdk_1.5/bin/jarsigner" -verbose -keystore "c:/myKey" "c:/myapks folder/xxxxxx.apk" ahmad
[/php]

يمكن استعمال / او \ في المسار ... كلاهما صحيح.. هنا ahmad هو ال alias_name

ان شاء الله تزبط معاك

وهذا مزيد من الشرح عن عمل ال sign
[url="http://developer.android.com/guide/publishing/app-signing.html"]Signing Your Applications | Android Developers[/url]

hassanismail 03-11-2011 08:14 PM

تحويل البرنامج النهائي
 
أخي العزيز,

هل بالامكان تحويل البرنامج النهائي ليعمل على الايفون والبلاك بيري.

هل تنصح باستخدام برنامج اخر اذا كان هذا البرنامج لا يقوم بهذه المهمة.

هل يوجد برنامج gui لعمل برامج الهاتف النقال.

والله صار لي يومين وانا احاول الحصول على برنامج سهل حتى وصلت الى هنا.

stinger1 03-11-2011 11:43 PM

[quote=hassanismail;2974554]أخي العزيز,

هل بالامكان تحويل البرنامج النهائي ليعمل على الايفون والبلاك بيري.

هل تنصح باستخدام برنامج اخر اذا كان هذا البرنامج لا يقوم بهذه المهمة.

هل يوجد برنامج gui لعمل برامج الهاتف النقال.

والله صار لي يومين وانا احاول الحصول على برنامج سهل حتى وصلت الى هنا.[/quote]

اهلا اخي
والله تحويل للايفون لا اعرف ولا اعتقد انه موجود
الا بطرق اخرى لا اعرفها

هذا فهرس الدوره به كل الدروس اذا لم تضطلع عليه خذ نظره
[url="http://www.ce4arab.com/vb7/showthread.php?t=325071"][دورة تعليميه] تعلم صنع تطبيقات الاندرويد بالتفصيل - الكمبيوتر الكفي[/url]

ان شاء الله تجد طلبك

اما عن برنامج GUI مثل ال VB مثلا تصميم وبرمجه بسلاسه لا اعرف

الايكليبس به شيء مشابه
ليس 100% لكنه يساعدك كثيرا ....

موفق

bonus1 11-11-2011 05:53 PM

الله يعطيك الف عافيه يااارب

من اشد المتابعين لك

استاذ عندي استفسار
هل ممكن تشرح طريقه تشغيل مقاطع الفيديو في البرنامج :(
انا حاولت كثير وعرفت اضيف مقاطع صوت واشغلها
اما مقاطع الفيديو لا :(
اذا ممكن تشرحها اكون لك من الشاكرين لاني احتاجها ضروري جدن في عمل مشروعي التخرج للجامعه

شاكره لك

stinger1 11-11-2011 06:57 PM

كل عام وانتم بخير
الحمدلله ان هناك من يستفيد

[quote]الله يعطيك الف عافيه يااارب

من اشد المتابعين لك

استاذ عندي استفسار
هل ممكن تشرح طريقه تشغيل مقاطع الفيديو في البرنامج
انا حاولت كثير وعرفت اضيف مقاطع صوت واشغلها
اما مقاطع الفيديو لا
اذا ممكن تشرحها اكون لك من الشاكرين لاني احتاجها ضروري جدن في عمل مشروعي التخرج للجامعه

شاكره لك[/quote]
[php]
public void videoPlayer(String path, String fileName, boolean autoplay){
//get current window information, and set format, set it up differently, if you need some special effects
getWindow().setFormat(PixelFormat.TRANSLUCENT);
//the VideoView will hold the video
VideoView videoHolder = new VideoView(this);
//MediaController is the ui control howering above the video (just like in the default youtube player).
videoHolder.setMediaController(new MediaController(this));
//assing a video file to the video holder
videoHolder.setVideoURI(Uri.parse(path+"/"+fileName));
//get focus, before playing the video.
videoHolder.requestFocus();
if(autoplay){
videoHolder.start();
}

}

[/php]
هذا كود تشغيل الفيديو
لم اجربه صراحه لكنني بحثت عنه
[php]
videoHolder.setVideoURI(Uri.parse(path+"/"+fileName));
[/php]
هو المسؤل عن تحديد مكان ملف الفيديو
ويتم ارساله لل method من خلال مناداته من نقره زر مثلا
ممكن ان يكون تشغيل ملف فيديو اسمه aaa.mp4 موجود ببطاقه الذاكره بمجلد اسمه myvid كما يلي

[php]
videoPlayer ("/sdcard/myvid","aaa.mp4", true);
[/php]
اخر متغير هنا وهو true اي = نعم يكون للتشغيل التلقائي اي انه لا يلزم برمجه زر تشغيل
ويتم السؤال عنه هنا
[php] if(autoplay){[/php]
اي انه اذا كان "نعم" قم بالتشغيل ، وليس التجهيز فقط

وهذا مصدر الشرح:
[url="http://www.helloandroid.com/tutorials/how-play-video-and-audio-android"]How to play video and audio on Android | Hello Android[/url]

بالتوفيق

bonus1 12-11-2011 01:04 AM

يعطيك الف الف عافيه يااارب

الله يجعله في ميزان حسناتك يااارب العالمين

جربت الكود وما ضبط معاي :(
ما ادري اتوقع عندي لوجك ايرور بس ما ادري وشو بالضبط
لانه يفتح الابليكيشن ويطلع لي مسج يقول
انه لا يمكن عرض الفيديو
:(

ياليت اذا تقدر تساعدني بهالمشكله اكون لك من الشاكرين

الله يوفقك يارب


جميع الأوقات بتوقيت GMT +3. الساعة الآن 03:22 PM.

Powered by vBulletin
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.