این راهنما الزامات پیکربندی ساخت را برای استفاده از Navigation SDK برای Android فهرست میکند. دستورالعمل ها فرض می کنند که شما یک Android IDE نصب کرده اید و با توسعه اندروید آشنا هستید.
حداقل الزامات برای استفاده از Navigation SDK
یک پروژه Google Cloud Console با فعال کردن Navigation SDK. برای تهیه، از نماینده پلتفرم Google Maps خود بپرسید.
برنامه شما باید Navigation SDK (نسخه 16) یا بالاتر را هدف قرار دهد.
برای اجرای برنامهای که با Navigation SDK ساخته شده است، دستگاه Android باید سرویسهای Google Play را نصب و فعال کند.
اسناد و متن مجوز باید به برنامه اضافه شود.
پروژه های خود را راه اندازی کنید: پروژه Google Cloud Console و پروژه Android
قبل از اینکه بتوانید یک برنامه بسازید یا آزمایش کنید، باید یک پروژه Cloud Console ایجاد کنید و اعتبارنامه های کلید API را اضافه کنید. برای دسترسی به Navigation SDK، پروژه باید دارای تدارکات باشد. به همه کلیدهای پروژه Cloud Console دسترسی یکسانی به Navigation SDK داده شده است. یک کلید می تواند بیش از یک پروژه توسعه مرتبط با آن داشته باشد. اگر قبلاً یک پروژه کنسول دارید، می توانید یک کلید به پروژه فعلی خود اضافه کنید.
برای راه اندازی
- در مرورگر وب مورد علاقه خود، مانند کروم، وارد Google Cloud Console شوید و پروژه Google Cloud Console خود را ایجاد کنید.
- در IDE خود، مانند Android Studio، یک پروژه توسعه برنامه Android ایجاد کنید و نام بسته را یادداشت کنید.
- برای دسترسی به Navigation SDK برای پروژه Google Cloud Console خود با نماینده پلتفرم Google Maps خود تماس بگیرید.
- در حالی که در داشبورد Google Cloud Console در مرورگر وب خود هستید، اعتبارنامه هایی ایجاد کنید تا یک کلید API با محدودیت ایجاد کنید.
- در صفحه کلید API ، روی برنامههای Android در قسمت محدودیتهای برنامه * کلیک کنید.
- روی افزودن نام بسته و اثر انگشت کلیک کنید و سپس نام بسته پروژه توسعه خود و اثر انگشت SHA-1 را برای آن کلید وارد کنید.
- روی ذخیره کلیک کنید.
Navigation SDK را به برنامه خود اضافه کنید
Navigation SDK به عنوان یک بسته aar در دسترس است. پس از ایجاد پروژه توسعه، می توانید SDK را ادغام کنید. این دستورالعمل ها استفاده از Android Studio را برای IDE شما فرض می کند.
فایل فشرده Navigation SDK را دانلود و از حالت فشرده خارج کنید.
در Android Studio ، یک پروژه را باز کنید و بسته خدمات Google Play را با استفاده از مدیر SDK اضافه کنید.
از فهرست فایل فشرده،
libs/google_navigation.aar
را در فهرستapp/libs
پروژه خود کپی کنید.
ساخت را پیکربندی کنید
پس از ایجاد پروژه، می توانید تنظیمات را برای ساخت و استفاده موفق از Navigation SDK پیکربندی کنید.
ویژگی های محلی را به روز کنید
- در پوشه Gradle Scripts ، فایل
local.properties
را باز کنید وandroid.useDeprecatedNdk=true
را اضافه کنید.
اسکریپت ساخت Gradle را به روز کنید
فایل
build.gradle (Module:app)
را باز کنید و از دستورالعملهای زیر برای بهروزرسانی تنظیمات برای برآورده کردن الزامات Navigation SDK استفاده کنید و گزینههای بهینهسازی را نیز در نظر بگیرید.تنظیمات لازم برای Navigation SDK
-
minSdkVersion
را روی 16 یا بالاتر تنظیم کنید. - برای تغییر مدیریت مجوزها به API، «targetSDKversion» را برای API 21 تنظیم کنید. برای نسخههای قبلی، باید بهصراحت جریانهای مجوز را در برنامه خود لحاظ کنید.
- یک تنظیم
dexOptions
اضافه کنید کهjavaMaxHeapSize
را افزایش می دهد. - مکان را برای کتابخانه های اضافی تنظیم کنید.
-
repositories
وdependencies
را برای Navigation SDK اضافه کنید. - شماره نسخه های موجود در وابستگی ها را با آخرین نسخه های موجود جایگزین کنید.
تنظیمات اختیاری برای کاهش زمان ساخت
- برای بهبود زمان ساخت برنامه خود
- برای استفاده بهینه از وابستگی ها، ProGuard و Resource Shrinking را فعال کنید. Proguard کد و منابع استفاده نشده را از وابستگی ها حذف می کند. اگر مرحله پروگارد خیلی طولانی شد، فعال کردن Multidex برای کار توسعه را در نظر بگیرید.
- تعداد ترجمه های زبان موجود در ساخت را کاهش دهید. در حین توسعه،
resConfigs
را برای یک زبان تنظیم کنید. برای ساخت نهایی، "resConfigs" را برای زبان هایی که واقعا استفاده می کنید تنظیم کنید. بهطور پیشفرض، Gradle شامل رشتههای منبع برای همه زبانهایی است که توسط Navigation SDK پشتیبانی میشوند.
-
در زیر نمونهای از اسکریپت ساخت Gradle برای اپلیکیشن آورده شده است.
apply plugin: 'com.android.application'
ext {
supportVersion = "27.1.1"
lifecycle_version = "1.1.1"
}
android {
compileSdkVersion 27
buildToolsVersion '28.0.3'
defaultConfig {
applicationId "com.example.navigationapidemo"
minSdkVersion 16
targetSdkVersion 27
versionCode 1
versionName "1.0"
resConfigs "en"
}
dexOptions {
// This increases the amount of memory available to the dexer. This is
// required to build apps using the Navigation SDK.
javaMaxHeapSize "4g"
}
buildTypes {
all {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
// Specify where to find additional libraries and the location of google_navigation.aar file.
repositories {
flatDir {
dirs 'libs'
}
google()
}
dependencies {
api fileTree(include: ['*.jar'], dir: 'libs')
// Include the Google Navigation API library
api(name: 'google_navigation', ext: 'aar')
// These dependencies are required for the Navigation API to function
// properly at runtime.
api "org.chromium.net:cronet-fallback:69.3497.100"
// Optional for Cronet users:
// api "org.chromium.net:cronet-api:69.3497.100"
api "com.android.support:appcompat-v7:${supportVersion}"
api "com.android.support:cardview-v7:${supportVersion}"
api "com.android.support:design:${supportVersion}"
api "com.android.support:mediarouter-v7:${supportVersion}"
api "com.android.support:preference-v7:${supportVersion}"
api "com.android.support:recyclerview-v7:${supportVersion}"
api 'com.github.bumptech.glide:glide:4.9.0'
api 'com.github.bumptech.glide:okhttp-integration:4.9.0'
api "android.arch.lifecycle:common-java8:$lifecycle_version"
api 'com.google.android.datatransport:transport-api:2.2.0'
api 'com.google.android.datatransport:transport-backend-cct:2.2.0'
api 'com.google.android.datatransport:transport-runtime:2.2.0'
api 'joda-time:joda-time:2.9.9'
// The Navigation SDK does not require the
// Places API; however, the demo app for does.
api 'com.google.android.gms:play-services-places:10.2.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
}
مانیفست برنامه خود را به روز کنید
در پوشه Manifest ، فایل
AndroidManifest.xml
را باز کنید.کلید API خود را در عنصر
<application>
اضافه کنید. باید از کلید API تعریف شده در پروژه Google Cloud Console که در مرحله بالا توضیح داده شده است استفاده کنید.در مانیفست جزئی که در این مثال نشان داده شده است، میتوانید
YOUR_API_KEY
با کلید API خود جایگزین کنید:<meta-data android:name="com.google.android.geo.API_KEY" android:value="YOUR_API_KEY"/>
مانیفست کامل زیر تنظیمات کلید API و
intent
خالیMainActivity
را نشان می دهد که در هنگام راه اندازی اجرا می شود.<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.navigationapidemo" > <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/_AppTheme" > <meta-data android:name="com.google.android.geo.API_KEY" android:value="YOUR_API_KEY"/> <activity android:name=".MainActivity" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> ```
اسناد مورد نیاز را در برنامه خود قرار دهید
اگر از Navigation SDK برای Android در برنامه خود استفاده می کنید، باید متن منبع و مجوزهای منبع باز را به عنوان بخشی از بخش اعلامیه های قانونی برنامه خود قرار دهید.
میتوانید متن منبع مورد نیاز و مجوزهای منبع باز را در فایل زیپ Navigation SDK for Android بیابید:
-
NOTICE.txt
-
LICENSES.txt
گام بعدی
نحوه ترسیم مسیر را بیاموزید.