<meta http-equiv="content-type" content="text/html; charset=utf-8">

다음과 같은 시스템을 개발중입니다.


두개의 apk로 구성되며, Main.apk(ActiivtyGroup)에서 sub.apk(CustumAct)를 호출하여 사용함.


Main.apk : ActivityGroup                            + User Library(Custom_Activity)

sub.apk  :  CustumAct(Custom_Activity을 상속) + User Library(Custom_Activity)


문제는 AcitivityGroup에서 LocalActivityManager의 getActivity()를 이용하여, CustumAct를 받아 CustumAct의 내부함수(func1)을

호출하여 할때 ClassCastException이 발생합니다.


    Activity act = am.getActivity("CustumAct");

    if(act != null){

        Custom_Activity ca = (Custom_Activity) act;  ------>     ClassCastException이 발생

ca.func1();            

    }



Activity_A의 상속구조를 자세히 설명하면


* User Library (|-----------> : 상속을 의미)

       Activity

            |---->  Custom_Activity(Activity를 상속받아 Custom_Activity Class를 구현)


* sub.apk

       Custom_Activity

             |----------------> CustumAct (Custum Activity Class를 상속받아 구현함)

                                   (내부함수 fuct1이 구현되어 있음)


저의 분석 결과로는 Main.apk에서 Casting을 할때 User Library에 선언되어 있지 않은

CustumAct를 알수 없어서 ClassCassException이 발생하는 것으로 판단됩니다.


제가 잘못 이해 한 것인가요? 아니라면

이런경우에 강제로 캐스팅하는 방법을 아시는분 도와주세요. ㅠ.ㅠ