मैं एक "गतिशील" एंड्रॉइड एप्लिकेशन विकसित करने का प्रयास कर रहा हूं।मैनिफेस्ट में उल्लिखित एक गैर मौजूद गतिविधि कैसे शुरू करें?
इस अर्थ में गतिशील है कि मेरे पास मैनिफेस्ट में सूचीबद्ध गतिविधि है जो रनटाइम पर "निर्मित" है।
मैं आवश्यक गतिविधि ठीक निर्माण कर सकते हैं, तथापि, जब मैं इसे अपने आवेदन शुरू करने का प्रयास के साथ विफल हो ...
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.research.ps/com.research.Dynamic}: java.lang.ClassNotFoundException:
Didn't find class "com.research.Dynamic" on path: DexPathList[[zip file "/data/app/com.research.ps-1/base.apk"],nativeLibraryDirectories=[/data/app/com.research.ps-1/lib/arm,
/data/app/com.research.ps-1/base.apk!/lib/armeabi-v7a, /vendor/lib, /system/lib]]
वहाँ एक दृष्टिकोण मैं सफलतापूर्वक कार्यावधि में एक Android गतिविधि का दृष्टांत के लिए ले सकता है?
क्या कोई तरीका है कि मैं अपने आवेदन पथ पर "अस्थायी" या "खोल" गतिविधि जोड़ सकता हूं? और फिर मेरे गतिशील उदाहरण के साथ "अस्थायी" गतिविधि को प्रतिस्थापित करें?
अद्यतन
मेरे मेनीफ़ेस्ट XML इस प्रविष्टि
<activity
android:name=".Dynamic"
android:label="@string/title_activity_dynamic"
android:theme="@style/AppTheme.NoActionBar" />
शामिल हालांकि, कोई गतिविधि "गतिशील" अपने आवेदन के भीतर निहित कहा जाता है।
मैं ByteBuddy उपयोग कर रहा हूँ मेरी गतिशील गतिविधि का निर्माण करने की: -
final Class<? extends android.support.v7.app.AppCompatActivity> dynamicType = new ByteBuddy(ClassFileVersion.JAVA_V8)
.subclass(android.support.v7.app.AppCompatActivity.class, IMITATE_SUPER_CLASS)
.name("com.research.Dynamic")
.make()
.load(getClass().getClassLoader(), new AndroidClassLoadingStrategy.Wrapping(this.getDir("dexgen", Context.MODE_PRIVATE)))
.getLoaded();
final Intent intent = new Intent(this, dynamicType);
startActivity(intent);
क्या आप कुछ कोड जोड़ सकते हैं? उदाहरण के लिए आप अपनी गतिविधि कैसे शुरू कर रहे हैं –
क्या आप मुझे quetion समझने के लिए अपनी कुछ गतिविधि की गतिविधि देख सकते हैं? – SahdevRajput74