validatekeymaps টুল

অ্যান্ড্রয়েড ফ্রেমওয়ার্কের ইনপুট ডিভাইস কনফিগারেশন ফাইল, কী লেআউট ফাইল, কী ক্যারেক্টার ম্যাপ ফাইল এবং ভার্চুয়াল কী ডেফিনিশন ফাইলের সিনট্যাক্স যাচাই করার জন্য validatekeymaps নামে একটি ছোট টুল রয়েছে।

সংকলন

validatekeymaps কম্পাইল করতে, ডেভেলপমেন্ট এনভায়রনমেন্ট সেট আপ করুন, অ্যান্ড্রয়েড সোর্স ট্রি ডাউনলোড করুন, কম্পাইল করুন, তারপর রান করুন:

mmm frameworks/base/tools/validatekeymaps

এই কমান্ডটি out/host/<os>/bin ডিরেক্টরিতে validatekeymaps নামে একটি হোস্ট টুল কম্পাইল করা উচিত।

ব্যবহার

আপনি যদি আপনার ডেভেলপমেন্ট এনভায়রনমেন্ট সেট আপ করতে envsetup.sh চালান, তাহলে validatekeymaps টুলটি ইতিমধ্যেই আপনার পথে থাকা উচিত। আপনি validatekeymaps চালিয়ে এটি যাচাই করতে পারেন।

validatekeymaps

আপনি নিম্নলিখিত আউটপুট দেখতে হবে:

Keymap Validation Tool

Usage:
 validatekeymaps [*.kl] [*.kcm] [*.idc] [virtualkeys.*] [...]
   Validates the specified key layouts, key character maps, 
   input device configurations, or virtual key definitions.

তারপরে আপনাকে যা করতে হবে তা হল validatekeymaps চালান এবং এটিকে বৈধ করার জন্য এক বা একাধিক ফাইলের পথ দিন।

validatekeymaps frameworks/base/data/keyboards/Generic.kl

উদাহরণ:

Validating file 'frameworks/base/data/keyboards/Generic.kl'...
No errors.

Success.

এবং যদি একটি ত্রুটি হয় ...

validatekeymaps Bad.kl

উদাহরণ:

Validating file 'Bad.kl'...
E/KeyLayoutMap(87688): Bad.kl:24: Expected keyword, got 'ke'.
Error -22 parsing key layout file.

Failed!

অটোমেশন

একটি ডিভাইসে ইনস্টল করার আগে সমস্ত কনফিগারেশন ফাইলগুলিতে validatekeymaps চালানো একটি খুব ভাল ধারণা।

একটি স্ক্রিপ্ট বা একটি মেকফাইল ব্যবহার করে বিল্ড সিস্টেমের অংশ হিসাবে প্রক্রিয়াটি সহজেই স্বয়ংক্রিয় হতে পারে।

নিম্নলিখিত নমুনা মেকফাইল frameworks/base/data/keyboards/Android.mk এর বিষয়বস্তুর উপর ভিত্তি করে তৈরি করা হয়েছে।

# This makefile performs build time validation of framework keymap files.

LOCAL_PATH := $(call my-dir)

# Validate all key maps.
include $(CLEAR_VARS)

validatekeymaps := $(HOST_OUT_EXECUTABLES)/validatekeymaps$(HOST_EXECUTABLE_SUFFIX)
files := MyKeyboard.kl MyKeyboard.kcm MyTouchScreen.idc

LOCAL_MODULE := validate_framework_keymaps
LOCAL_MODULE_TAGS := optional
LOCAL_REQUIRED_MODULES := validatekeymaps

validate_framework_keymaps: $(files)
    $(hide) $(validatekeymaps) $(files)

include $(BUILD_PHONY_PACKAGE)