আমি অ্যান্ড্রয়েডে একটি গেম বিকাশ / পোর্ট করার চেষ্টা করছি, তবে এটি সি এর মধ্যে রয়েছে, এবং অ্যান্ড্রয়েড জাভা সমর্থন করে, তবে আমি নিশ্চিত যে সেখানে একটি সি অ্যাপ পাওয়ার কোনও উপায় অবশ্যই আছে, যে কেউ এটি সম্পাদন করার উপায় জানেন?
আমি অ্যান্ড্রয়েডে একটি গেম বিকাশ / পোর্ট করার চেষ্টা করছি, তবে এটি সি এর মধ্যে রয়েছে, এবং অ্যান্ড্রয়েড জাভা সমর্থন করে, তবে আমি নিশ্চিত যে সেখানে একটি সি অ্যাপ পাওয়ার কোনও উপায় অবশ্যই আছে, যে কেউ এটি সম্পাদন করার উপায় জানেন?
উত্তর:
গুগলের মাধ্যমে যে যার কাছে এটি আসার জন্য নোট করুন যে এসডিকে ১.6 থেকে শুরু করে অ্যান্ড্রয়েডের এখন একটি সরকারী নেটিভ এসডিকে রয়েছে।
আপনি এখান থেকে অ্যান্ড্রয়েড এনডিকে (নেটিভ ডেভলপমেন্ট কিট) ডাউনলোড করতে পারেন: https://developer.android.com/ndk/downloads/index.html
এছাড়াও এনডিকে সম্পর্কে একটি ব্লগ পোস্ট রয়েছে: http://android-developers.blogspot.com/2009/06/introducing-android-15-ndk-re कृपया-1.html
অ্যান্ড্রয়েড NDK একটি টুলসেট আপনি নেটিভ কোড মধ্যে আপনার অ্যাপ্লিকেশান অংশগুলি বাস্তবায়ন, এই ধরনের সি এবং সি ++ যেমন ভাষায় ব্যবহার করতে দেয়। নির্দিষ্ট ধরণের অ্যাপ্লিকেশানের জন্য এটি আপনাকে সেই ভাষাগুলিতে লিখিত কোড লাইব্রেরি পুনরায় ব্যবহার করতে সহায়তা করতে পারে।
স্থানীয় বিকাশের সাথে কীভাবে শুরু করবেন সে সম্পর্কে আরও তথ্যের জন্য, এই লিঙ্কটি অনুসরণ করুন ।
সাধারণত, আপনাকে:
আপনি যদি একটি অ্যাপ্লিকেশন বিক্রয় করতে চাইছেন:
গুগল একটি নেটিভ ডেভলপমেন্ট কিট ( এনডিকে) প্রকাশ করেছে ( http://www.youtube.com/watch?v=Z5WWFLH1-E অনুযায়ী 00:07:30)।
আশা করি গুগল গ্রুপগুলির পৃষ্ঠায় ( http://groups.google.com/group/android-ndk ) তথ্য আপডেট করা হবে , কারণ এটি এখনও প্রকাশ করা হয়নি।
আমি এটির জন্য সহজ ডাউনলোড কোথায় পাবেন তা নিশ্চিত নই, তবে আমি শুনেছি যে আপনি ডোনাট শাখার অধীনে গুগলের গিট সংগ্রহস্থল থেকে এনডিকে একটি অনুলিপি পেতে পারেন।
সরকারী অবস্থানটি দেখে মনে হচ্ছে এটি এমন কোনও কিছু নয় যা আপনি কখনও "করতে চান"। অ্যান্ড্রয়েড বিকাশকারীদের তালিকায় এই থ্রেডটি দেখুন । গুগল বিভিন্ন ডিভাইস (সিপিইউ, প্রদর্শন, ইত্যাদি) উপর চলমান Android অ্যান্ড্রয়েড কল্পনা। বিকাশ সক্ষম করার সর্বোত্তম উপায় হ'ল (পোর্টেবল) পরিচালিত কোড ব্যবহার করা যা ডালভিক ভিএমকে লক্ষ্য করে। এই কারণে অ্যান্ড্রয়েড এসডিকে সি / সি ++ সমর্থন করে না।
তবে এই পৃষ্ঠাটি একবার দেখুন :
অ্যান্ড্রয়েডে অ্যান্ড্রয়েড সিস্টেমের বিভিন্ন উপাদান দ্বারা ব্যবহৃত সি / সি ++ লাইব্রেরির একটি সেট অন্তর্ভুক্ত রয়েছে। এই ক্ষমতাগুলি অ্যান্ড্রয়েড অ্যাপ্লিকেশন কাঠামোর মাধ্যমে বিকাশকারীদের কাছে প্রকাশ করা হয়েছে।
পরিচালিত অ্যাপ্লিকেশন কাঠামো এই লাইব্রেরির উপরের স্তরযুক্ত বলে মনে হচ্ছে। পৃষ্ঠাটি সি / সি ++ libs তালিকাভুক্ত করে: মানক সি লাইব্রেরি, মিডিয়া, 3 ডি, এসকিউএল লাইট এবং অন্যান্য।
সুতরাং আপনার যা দরকার তা হ'ল একটি সংকলক চেইন যা উপযুক্ত সিপিইউতে সি / সি ++ সংকলন করবে (জি 1 এর ক্ষেত্রে এআরএম)। এটি কীভাবে করবেন সে সম্পর্কে কয়েকটি সংক্ষিপ্ত নির্দেশিকা এখানে রয়েছে ।
আমি যা জানি না তা হ'ল এই লাইব্রেরিগুলি সরবরাহ করে এমন API এর বিবরণ কোথায় পাওয়া যায়। আমি অনুমান করতে পারি যে এসডিকে কোথাও হেডার ফাইলগুলি সমাধিস্থ করা যেতে পারে, তবে ডকুমেন্টেশনগুলি স্কেচি / নিখোঁজ হতে পারে। তবে আমার মনে হয় এটি করা সম্ভব!
আশা করি কার্যকর হবে। রেকর্ডের জন্য, আমি কোনও নেটিভ অ্যান্ড্রয়েড অ্যাপস লিখিনি - কেবল কয়েকটি সাধারণ পরিচালিত অ্যাপ্লিকেশন।
অ্যান্ডি
আপনি জাভা বাইটকোডে সি (বা অন্যান্য জিসিসি ভাষাগুলি) অনুবাদ করতে নেস্টেডভিএম ব্যবহার করতে পারেন এবং এটি আপনার বন্দরের ভিত্তি হিসাবে ব্যবহার করতে পারেন। উদাহরণস্বরূপ, সাইমন টেথামের পোর্টেবল ধাঁধা সংগ্রহের অ্যান্ড্রয়েড বন্দরটি দেখুন ।
আমি আশা করি NDK দ্বারা এই পদ্ধতিটি অচল করে দেওয়া হয়েছে, তবে কোনও নেটওয়ার্ক বা কোনও কিছু লোককে তাদের ফোন আপগ্রেড করার অনুমতি না দিলে এটি নাও পারে।
গুগল ইতোমধ্যে গুগল আই / ও ২০১১ চালু করেছে : সি এবং সি ++ গেমগুলি অ্যান্ড্রয়েড সেশনে আনয়ন যা http://www.youtube.com/watch?v=5yorhsSPFG4 এ উপলব্ধ
অ্যান্ড্রয়েডের জন্য সি এবং সি ++ তে অ্যাপ্লিকেশন লেখার জন্য এনডিকে ব্যবহার বুঝতে ভাল।
আপনি যদি কেবল কোনও কনসোল ভিত্তিক নেটিভ গেমটি সংকলন করতে চান এবং এন্ড্রয়েডে চালাতে চান তবে এই নিবন্ধটি এর জন্য 3 টি পদ্ধতি দেখিয়েছে।
1: স্ট্যান্ডেলোন টুলচেন ব্যবহার করে স্থির সংকলন
2: অ্যান্ড্রয়েড এনডিকে এর সরঞ্জামচেইন ব্যবহার করে ক্রস সংকলন
3: এওএসপি উত্স কোড ব্যবহার করে ক্রস সংকলন
আপনি কি এটি খুঁজছেন?
এটি সি ++ ব্যবহার করে বেশ কয়েকটি মোবাইল প্ল্যাটফর্মের জন্য বিকাশের জন্য একটি মাঝারি স্তর।
এটি দেখে মনে হয় এটি সম্ভব:
"সত্যতা কেবল জাভা ভাষার সমর্থিত হওয়ার অর্থ এই নয় যে আপনি অন্য ভাষায় অ্যাপ্লিকেশন বিকাশ করতে পারবেন না This এটি অনেক বিকাশকারী, হ্যাকার এবং মোবাইলের জন্য অ্যাপ্লিকেশন বিকাশের বিশেষজ্ঞরা প্রমাণ করেছেন Ed এডজিলিবের পিছনে সংস্থা এলিমেন্ট ইন্টারেক্টিভ বিভি-তে লোকেরা লাইব্রেরি, অ্যান্ড্রয়েড প্ল্যাটফর্মে নেটিভ সি ++ অ্যাপ্লিকেশন চালাতে সফল হয়েছে, এমনকি এখনও এই সময়ে প্রদর্শন এবং শব্দ সম্পর্কিত আরও অনেক সমস্যা রয়েছে ... ইত্যাদি এর মধ্যে এস-ট্রিস 2 গেম এবং এডজেলিবের একটি 3 ডি অ্যানিমেশন ডেমো অন্তর্ভুক্ত রয়েছে। "
২০০৯ সাল থেকে এই বিষয়ে একটি উন্নয়ন চলছে is
প্রয়োজনীয়তা - অ্যান্ড্রয়েড ভিডিও
শুরু করার জন্য কিউটি (সি ++ ফ্রেমওয়ার্ক) ।
কটাক্ষপাত গুগল NDK গ্রুপ এটা প্রতিশ্রুতি দেখায়, NDK প্রথম সংস্করণ 1H2009 মধ্যে উপলব্ধ করা হবে।
আপডেট: এবং এটি প্রকাশিত হয়েছে http://android-developers.blogspot.com/2009/06/introducing-android-15-ndk-re कृपया-1.html
আমি নিশ্চিত ননডিকে অফিসিয়াল জাভা এপিআইয়ের সম্পূর্ণ কভারেজ সরবরাহ করে।
Http://developer.android.com/sdk/ndk/index.html# ওভারভিউ থেকে :
দয়া করে নোট করুন যে NDK আপনাকে কেবল নেটিভ-অ্যাপ্লিকেশন বিকাশ করতে সক্ষম করে না। অ্যান্ড্রয়েডের প্রাথমিক রানটাইমটি রয়ে গেছে ডালভিক ভার্চুয়াল মেশিন।
গুগল সবেমাত্র এনডিকে প্রকাশ করেছে যা ঠিক এটির অনুমতি দেয়।
এটি এখানে পাওয়া যাবে: http://developer.android.com/sdk/ndk/1.5_r1/index.html
এই ব্লগ পোস্টটি একটি ভাল শুরু হতে পারে: http://benno.id.au/blog/2007/11/13/android-native-apps দুর্ভাগ্যক্রমে, অনেক গুরুত্বপূর্ণ জিনিস "পাঠকের কাছে অনুশীলন হিসাবে রেখে গেছে"।
আমি টিউটোরিয়াল জানি না তবে একটি ভাল বিকাশের সরঞ্জাম: আইডিয়াবার্স ল্যাবগুলি থেকে এয়ারপ্লে এসডিকে। (সম্প্রতি " মার্মেলেড " রূপান্তরিত ) সি / সি ++ ব্যবহার করে আপনি উইন্ডোজ মোবাইল, আইফোন, অ্যান্ড্রয়েডের জন্য অ্যাপ্লিকেশন তৈরি করতে পারেন। আমি যে একমাত্র উপাদানটি পছন্দ করিনি তা হ'ল জিইউআই সুরকার - একটি বগি, তবে আপনি সর্বদা নোটপ্যাডের সাথে এটির বিকল্প তৈরি করতে পারেন।
আপনি সি 4ড্রয়েড ডাউনলোড করতে পারেন এবং তারপরে জিসিসি প্লাগইন ইনস্টল করতে পারেন এবং আপনার এসডি তে ইনস্টল করতে পারেন। শেল থেকে আমি কেবল সেই ডিরেক্টরিতে চলে যাই যেখানে জিসিসি বাইনারি থাকে এবং তারপরে বোর্ডটিকে কার্যকর করতে সক্ষম করে তোলে।
/mnt/sdcard/Android/data/com.n0n3m4.droidc/files/gcc/bin/arm-linux-androideabi-gcc
#include<stdio.h>
int main(){
printf("hello arm!\n");
return 0;
}
হ্যালো বাহু!
এই তিনটি পদক্ষেপ এই পোস্টে রাখা এবং রাখা ভাল।
1) অ্যান্ড্রয়েড নেটিভ সি কোড পোর্ট কিভাবে
3) http://mindtherobot.com/blog/452/android-beginners-ndk-setup-step-by-step/
নেটিভ সি / সি ++ ফাইলগুলি libstdc ++। * আপনার উবুন্টু থেকে x86 (বা x86_64) বাইনারি তবে অ্যান্ড্রয়েড ডিভাইস এবং এমুলেটরগুলি এআরএম। অবশ্যই, এটি কোনওভাবেই কাজ করবে না, এমনকি যদি আপনি সঠিক সোনাম সেট করেন। এটি খুব নিখুঁত উপায় যা কোথাও নিয়ে যায় না। অ্যান্ড্রয়েডের সি ++ এর খুব সীমিত সমর্থন রয়েছে যার অর্থ ব্যতিক্রম নেই, মান সি ++ গ্রন্থাগার (এসটিএল সহ) এবং আরটিটিআই রয়েছে। আপনার যদি এই জাতীয় কার্যকারিতা দরকার হয় তবে আমার কাস্টম এনডিকে বিতরণটি ব্যবহার করুন
http://crystax.net/android/ndk.php - এটি উপরে তালিকাভুক্ত সম্পূর্ণ সি ++ বৈশিষ্ট্যগুলিকে সমর্থন করে।
ত্রুটি কেন আছে: '__cxa_end_cleanup' লিঙ্ক ত্রুটিটির অপরিবর্তিত রেফারেন্স। অ্যান্ড্রয়েড stlport
সময়। কারণ libstdc + + এর কোনও লিঙ্ক নেই। উ: খুব ভুল।
যেহেতু এটি কিছু স্ট্যাটিক লাইব্রেরি ব্যবহার করে, তাই সম্পূর্ণ লিস্টস্টিক ++ লিঙ্ক করা প্রয়োজন। একটি ক্যান
প্যাকেজটি ডাউনলোড করতে এখানে http://crystax.net/android/ndk.php
উত্স \ cxx-stl \ gnu-libstdc + + bs libs \ আরমেবি ডিরেক্টরি।
অ্যান্ড্রয়েডের নিজস্ব libstdc + + সমর্থন সীমাবদ্ধ, এটি অবশ্যই একটি সম্পূর্ণ libstdc + + এর সাথে লিঙ্ক করা উচিত। একটি কাজ।
Android.mk এ ফাইল যুক্ত করুন LOCAL_LDFLAGS = $ (LOCAL_PATH) / libs / libcurl.a \
$ (LOCAL_PATH) / libs / liblua.a \
`$ (LOCAL_PATH) / libs / libstdc + +. A`
এবং LOCAL_CPPFLAGS + =-lstdc + +-fexceptions
সংকলন করা যায়
অ্যান্ড্রয়েডের পরবর্তী এসডিকে সংস্করণে কোড / সি ++ লাইব্রেরি দেওয়ার অনুমতি রয়েছে (কোডনাম ইক্লেয়ার?) আজ অবধি, অ্যান্ড্রয়েড জাভা এসডিকে মাধ্যমে এটি সম্ভব নয়। তবে, আপনি বিশাল ওপেন সোর্স প্রকল্পটি ধরতে পারেন, আপনার নিজের লাইব্রেরিগুলি রোল করতে পারেন এবং তারপরে আপনার নিজের ডিভাইস ফ্ল্যাশ করতে পারেন ... তবে যে কেউ আপনার লাইব্রেরিটি ব্যবহার করতে চায় তাকে আপনার কাস্টম বিল্ডটিও ফ্ল্যাশ করতে হবে।
সংক্ষিপ্ত উত্তর: আপনি পারবেন না।
@ ব্যাকস্ল্যাশ 17: নিবন্ধটি এবং ইনস্টলেশনের নির্দেশাবলীর সাথে নিম্নলিখিত লিঙ্কটি সন্ধান করে, সমস্ত সংস্থা কাজ শুরু করেছে অ্যান্ড্রয়েড কাঠামোটি বাইপাস করে এমুলেটরটিতে একটি স্বয়ংক্রিয় সংকলিত এক্সিকিউটেবল চালু করা। একবার আপনার এমুলেটর থাকলে আপনি টেলনেট করতে পারেন এবং একটি লিনাক্স শেল নিতে পারেন। একটি লিনাক্স প্রোগ্রাম চালানো অবশ্যই তুচ্ছ। তবে এটি জেলব্রেক ছাড়াই ফোনের জন্য কাজ করছে না (ওরফে রুট অ্যাক্সেস) এবং বাজারে সরবরাহযোগ্য নয়।
গুগল অন্য সুযোগ না খোলে বা কেউ যদি একটি কাস্টম সংকলক লিখেন যা ভাষা এক্সকে ডালভিক বাইটকোডে সংকলন করে (ডালভিক এমন ভিএম যা অ্যান্ড্রয়েড প্রোগ্রামগুলি চালায়) আপনি নেটিভ কোড লিখতে পারবেন না।