Skip to main content

كيفية تجميع إصدار Android

مجموعة تطوير برامج أندرويد (Android SDK): الحد الأدنى لإصدار SDK: 21 الإصدار المستهدف من SDK: 29 أدوات SDK المستهدفة: 29

مجموعة تطوير برامج أندرويد الأصلية (Android NDK): 23.

تجميع ملف APK لنظام Android

  1. أولاً، قم بإعداد بيئة التطوير.
  2. Gradle (سطر الأوامر):
    • حدد متغيرات البيئة. ANDROID_SDK و ANDROID_HOME هما المكانان اللذان يضع فيهما Android Studio الأشياء:
    export ANDROID_SDK=/[your-path]/Android/sdk
    export ANDROID_NDK=/[your-path]/android-ndk-23
    export ANDROID_HOME=/[your-path]/Android/sdk
    • التجميع باستخدام سطر الأوامر
    cd android/OsmAnd && ../gradlew assembleNightlyFreeLegacyFatDebug
  3. Android Studio:
import android project and run module flavor `android.OsmAnd`
  1. يمكنك استخدام debug.keystore الخاص بنا لجعل الإصدارات متوافقة مع الإصدار الليلي.

مهام / نكهات Gradle

ستنتج مهمة Gradle assembleNightlyFreeLegacyFatDebug ملف APK في android/OsmAnd/build/outputs/apk/ nightlyFreeLegacyFat/debug/OsmAnd-nightlyFree-legacy-fat-debug.apk. يتكون اسم المهمة assembleNightlyFreeLegacyFatDebug من:

  • assemble - مهمة قياسية لبناء ملف APK
  • nightlyFree - نكهة البناء الموضحة أدناه
  • legacy - legacy / opengl / opengldebug - يحدد ما إذا كان ملف APK المنتج سيحتوي على مكتبات أصلية لاستخدام عرض خريطة opengl أم لا. مزيد من المعلومات في مكون OsmAnd الإضافي للتطوير.
  • fat - fat (جميع الأهداف الأصلية) / armv7 / arm64 / x86 / armonly - حدد المكتبات الأصلية التي ستكون داخل ملف APK.
  • debug - debug / release - مهمة قياسية

لبناء الحزمة، يمكنك استخدام bundle${FLAVOR}LegacyFatRelease.

النكهةالحزمةالوصف
nightlyFreenet.osmand.devبناء ليلي مجاني يمكن تثبيته بجانب إصدارات GPlay للاختبار والاستكشاف
androidFullnet.osmand.plusيمكن استخدام إصدار OsmAnd~ الكامل لبناءات F-Droid. لا يستخدم خدمات Google Play.
gplayFreenet.osmandإصدار OsmAnd من Google Play - يستخدم خدمات Google Play.
gplayFullnet.osmand.plusإصدار OsmAnd+ من Google Play - يستخدم خدمات Google Play.
huaweinet.osmandبناء خاص لسوق Huawei - يستخدم خدمات Huawei ولكن ليس Google Play

تصحيح الأخطاء

تمكين تصحيح أخطاء NDK لمكتبة native القديمة (OsmAnd-core-legacy)

في OsmAnd/OsmAnd/jni/Application.mk قم بإلغاء التعليق على الأسطر

APP_OPTIM := debug
APP_DEBUG := true

أضف رموز تصحيح الأخطاء في إعدادات مشروع Android Studio. للقيام بذلك، انتقل إلى Edit Configuration / في القائمة اليسرى حدد Android App "OsmAnd" / في الجانب الأيمن حدد علامة التبويب "Debugger". وأضف OsmAnd/obj/local حيث يتم بناء المكتبات لتكوينات مختلفة (arm64-v8a, armeabi-v7a, x86, x86_64).

تجميع مكتبة OpenGL

مكتبة Opengl مطلوبة لأهداف مثل assembleNightlyFreeOpenglFatDebug ويتم تنزيلها افتراضيًا من مستودع OsmAnd ivy - مهمة gradle. للتطوير المحلي، قد تحتاج إلى تجميع هذه المكتبة ونشرها في مستودع ivy المحلي.

  1. أولاً، قم بإعداد بيئة التطوير، انظر بيئة التطوير.
  2. تثبيت الأدوات.
    • Android SDK - 29.
    • Android NDK - 23.
    • CMake > 3.6 (cmake -version).
    • SWIG - 4.1.1 (أو متوافق).
    • مترجم C++ محلي (يفضل clang).
    • أدوات Bash: wget, curl, python ...
  3. Gradle (سطر الأوامر):
    • حدد متغيرات البيئة. ANDROID_SDK و ANDROID_HOME هما المكانان اللذان يضع فيهما Android Studio الأشياء:
    export ANDROID_SDK=/[your-path]/Android/sdk
    export ANDROID_NDK=/[your-path]/android-ndk-23
    export ANDROID_HOME=/[your-path]/Android/sdk
    cd core/wrappers/android && ../gradlew build

تلميح: قد يستغرق التجميع وقتًا طويلاً ومن المحتمل أنك لا تحتاج إلى جميع المنصات، لذا يمكنك التعليق على البنية غير المرغوبة في السكريبت وبناء منصة واحدة فقط (x86, x86_64, arm, arm64) debug أو release.

تصحيح الأخطاء

سيتم الانتهاء: كيفية إعداد تصحيح أخطاء Android ndk.

تجميع عينات API

🚧 This article is incomplete

This article is incomplete & needs to be reviewed. You can help by creating a pull request.

هناك نوعان من تطبيقات العينات التي يوفرها OsmAnd، وكلها ممثلة في مستودع Github osmand-api-demo ويتم تجميعها بانتظام في OsmAnd Builder.

سكريبت التجميع:

(cd OsmAnd-api-sample && ./gradlew clean assembleRelease)
(cd OsmAnd-map-sample && ./gradlew clean assembleRelease)

اقرأ المزيد.