كيفية تجميع OsmAndMapCreator والأدوات
تجميع OsmAndMapCreator
- أولاً، قم بإعداد بيئة التطوير.
- Gradle (سطر الأوامر):
- التجميع باستخدام سطر الأوامر
cd tools/java-tools && ../gradlew build
- سيتم إنتاج OsmAndMapCreator.zip مع جميع السكربتات بالداخل. ملاحظة: يتطلب مشروع أندرويد بناء الأدوات (يستخدم مشروع OsmAnd-java).
- Eclipse:
- تهيئة مشاريع Eclipse مسبقًا
cd tools/java-tools && ../gradlew cleanEclipse eclipse
- في Eclipse، "استيراد" - "مشاريع موجودة في مساحة العمل" (Import' - 'Existing projects in workspace) اختر المجلدات 'OsmAnd-java', 'OsmAndMapCreatorutilities', 'OsmAndMapCreator', 'OsmAndServer', 'OsmAndServerUtilties'. ملاحظة: لا تحدد المجلد العلوي java-tools وبدلاً من ذلك حدد المشاريع المذكورة أعلاه.
- IntelliJ IDEA
- "ملف" > "جديد" > "مشروع من مصادر موجودة..." (File' > 'New' > 'Project from existing sources...') وانتقل إلى
java-tools
- اختر "استيراد مشروع من نموذج موجود" (Import project from existing model) واختر "gradle" من القائمة.
- "ملف" > "جديد" > "مشروع من مصادر موجودة..." (File' > 'New' > 'Project from existing sources...') وانتقل إلى
- الفئات الرئيسية للتنفيذ من IDE:
- net.osmand.MainUtilities - يمثل utilities.sh ويؤدي إلى جميع الأدوات الممكنة.
- net.osmand.obf.BinaryInspector - أداة inspector.sh لقراءة ملفات OBF وتقديم معلومات عنها.
- net.osmand.obf.preparation.IndexCreator - اختصار لإنشاء ملف obf.
- net.osmand.swing.OsmExtractionUI - OsmAndMapCreator
تجميع مكتبة العرض الأصلية لـ OsmAndMapCreator
يمكن استخدام مكتبة العرض الأصلية لاختبار العرض دون اتصال أو التوجيه الأصلي دون اتصال. إنها مفيدة جدًا لتصحيح الأخطاء واختبار نمط العرض أو تكوين التوجيه.
- أولاً، قم بإعداد بيئة التطوير، را جع بيئة التطوير.
- تنزيل التبعيات الخارجية
cd core-legacy/externals
./configure.sh
- حدد JAVA_HOME عالميًا عبر $PATH أو في سطر الأوامر
export JAVA_HOME=<>
- اختر هدفًا محددًا لنظام التشغيل وقم بتجميع إصدار محدد "debug" أو "release" أو "" (افتراضي). مثال
cd core-legacy/targets
./intel-darwin.sh release # إصدار macOs
./amd64-linux-clang.sh debug # تصحيح أخطاء linux - افتراضي
cd ....baked # مثل intel-darwin-intel-darwin-clang-release.baked أو amd64-linux-amd64-clang-release.baked
make -j4
- ستكون الملفات الثنائية متاحة في core-legacy/binaries/. مثال:
core-legacy/binaries/darwin/intel/Debug/libosmand.dylib
استكشاف الأخطاء وإصلاحها
- الملفات المفقودة externals/libjpeg-turbo/jconfigint.h.in غير موجودة. إذا واجهت أن libjpeg-turbo لم يتمكن من التجميع
targets/.cmake/../../externals/skia/upstream.patched/third_party/externals/libjpeg-turbo/jconfigint.h.in does not exist.
يمكنك العثور على الملفات هنا ووضعها في المجلد المحدد https://github.com/osmandapp/OsmAnd-core/blob/legacy_core/externals/jpeg/jconfig.h https://github.com/osmandapp/OsmAnd-core/blob/legacy_core/externals/jpeg/jconfigint.h
تجميع إصدار qt core لـ OsmAndMapCreator
- أولاً، قم بإعداد بيئة التطوير.
- قم بإعداد البناء (cmake) لهدف محدد. مثال clang / linux:
alias clang='clang -std=c++11'
build/amd64-linux-clang.sh release
- تجميع إصدار المكتبة
(cd "baked/amd64-linux-clang-release.make" && make -j4)