کتابخانه VirtualAPK اندروید – امکان نوشتن پلاگین برای اندروید

کتابخانه VirtualAPK اندروید – امکان نوشتن پلاگین برای اندروید

کتابخانه VirtualAPK اندروید
امکان نوشتن پلاگین برای اندروید
به همراه سورس کد پروژه


VirtualAPK
یک فریمورک پلاگین قدرتمند و سبک برای اندروید می‌باشد؛ که امکان نوشتن پلاگین رابرای اپلیکیشن شما فراهم می‌سازد!

ایجاد قابلیت پلاگین پذیری از طرف یک اپلیکیشن، روش‌های مختلفی دارد! اما روشی که VirtualAPK از آن استفاده می‌کند، این است که ‌می‌تواند یک فایل APK را به صورت داینامیک (پویا) بارگزاری کند. سپس در این حالت توسعه دهندگان می‌توانند از ریسورس‌ها، اکتیویتی‌ها، سرویس‌ها، ریسورها، Provider و دیگرچیزهای موجود در داخل آن فایل APK به سادگی استفاده نمایند!


ویژگی‌هایی پشتیبانی شده توسط VirtualAPK

ویژگی جزئیات
کامپوننت‌های پشتیبانی شده Activity, Service, Receiver and Provider
ثبت دستی کامپوننت‌ها در AndroidManifest.xml نیازی نیست
دسترسی به کلاس‌ها و ریسورس‌های اپلیکیشن میزبان پشتیبانی می‌شود
PendingIntent پشتیبانی می‌شود
ویژگی‌های اندروید پشتیبانی شده تقریبا تمامی ویژگی‌ها
سازگاری تقریبا با تمامی دستگا‌ها
Building system Gradle plugin
ورژن اندروید پشتیبانی شده API Level 15+

شروع به کار: اپلیکیشن میزبان

ابتدا باید به buid.gradle پروژه رفته و سپس classpth زیر را به dependencies ها اضافه کنید:

dependencies {
    classpath 'com.didi.virtualapk:gradle:0.9.8.6'
}

حالا باید به build.gradle ماژول اپلیکیشن رفته و پلاگین VirtualAPK مربوط به اپلیکیشن میزبان را اضافه کنید:

apply plugin: 'com.didi.virtualapk.host'

و در نهایت مورد زیر را هم به build.gradle ماژول اپلیکیشن dependencies و اضافه کنید:

compile 'com.didi.virtualapk:core:0.9.8'

یک کلاس اپلیکیشن ساخته و به Manifest اضافه کنید. سپس باید متد attachBaseContext را اورراید کرده و به صورت زیر VirtualAPK را داخل آن مقداردهی کنید:

@Override
protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    PluginManager.getInstance(base).init();
}

مقادیر Proguard

در صورت استفاده از Proguard، موارد زیر را به آن اضافه کنید:

-keep class com.didi.virtualapk.internal.VAInstrumentation { *; }
-keep class com.didi.virtualapk.internal.PluginContentResolver { *; }

-dontwarn com.didi.virtualapk.**
-dontwarn android.**
-keep class android.** { *; }

مثال: لودکردن یک APK

در این مثال، ما یک پلاگینی را که به نام Test.apk در SDCard قرار دارد لود کرده، سپس برای مثال فرض کنیم نام پکیج پلاگین com.fullkade.test است و ما قصد داریم MainActivity آن را اجرا کنیم:

String pluginPath = Environment.getExternalStorageDirectory().getAbsolutePath().concat("/Test.apk");
File plugin = new File(pluginPath);
PluginManager.getInstance(base).loadPlugin(plugin);

Intent intent = new Intent();
intent.setClassName("com.fullkade.test", "com.fullkade.test.MainActivity");
startActivity(intent);

شروع به کار: ساخت یک پلاگین

ابتدا همانند قبل، باید به buid.gradle پروژه رفته و سپس classpth زیر را به dependencies ها اضافه کنید:

dependencies {
    classpath 'com.didi.virtualapk:gradle:0.9.8.6'
}

حالا باید به build.gradle ماژول اپلیکیشن رفته و پلاگین VirtualAPK مربوط به پلاگین اپلیکیشن میزبان را اضافه کنید:

apply plugin: 'com.didi.virtualapk.plugin'

حالا باید کانفیگ یا پیکربرندی اولیه را انجام دهیم. بنابراین در همان build.gradle، کدهای زیر را به انتهای آن اضافه نمایید:

virtualApk {
    packageId = 0x6f             // The package id of Resources.
    targetHost='source/host/app' // The path of application module in host project.
    applyHostMapping = true      // [Optional] Default value is true. 
}

مشکلات شناخته شده

  • اعلان‌‌ها (نوتیفیکیشن‌ها) با طرح سفارشی در پلاگین پشتیبانی نمی‌شوند.
  • انیمیشن‌های Transitionبا منابع انیمیشن، در پلاگین پشتیبانی نمی‌شوند.

◀️ راهنمای API کتابخانه در این‌لینک قرار دارد؛ اما متاسفانه زبان آن چینی می‌باشد. 😀

باکس دانلود نیم‌بها

  • نسخه فایل 0.9.8.6
  • پسورد (در صورت نیاز) www.fullkade.com

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

cp-codfk

نظرات ثبت شده بدون دیدگاه

توضیحات دانلود نظرات اشتراک