как начать деятельность в апк без установки? - PullRequest
0 голосов
/ 20 июня 2011

У меня есть такое требование, я хочу начать действие в apk-файлах, но я не хочу вызывать установку. Просто загрузите классы и ресурсы в apk напрямую.

вот мой код но действие инициализировано неправильно.

     DexClassLoader dLoader = new DexClassLoader( APK_PATH,"/mnt/sdcard",null, ClassLoader.getSystemClassLoader().getParent());  

        PackageInfo pInfo;
          pInfo = getPackageManager().getPackageArchiveInfo(APK_PATH, 1);
          if ((pInfo.activities != null) && (pInfo.activities.length > 0))
          {


              clientClass = dLoader.loadClass(pInfo.activities[0].name);    

              clientInstance = clientClass.getConstructor(new Class[0]).newInstance(new Object[0]);
              Class[] tempClasses = new Class[1];
              tempClasses[0] = Bundle.class;
              Method onCreateMethod = clientClass.getDeclaredMethod("onCreate", tempClasses);
              onCreateMethod.setAccessible(true);
              Object[] tempObjects = new Object[1];
              tempObjects[0] = new Bundle();
              onCreateMethod.invoke(clientInstance, tempObjects);
          }    

Может ли кто-нибудь мне помочь? Я буду очень признателен.

Ответы [ 2 ]

2 голосов
/ 20 июня 2011

Вы не можете.Ваш код также не работает, например, есть абсолютный путь "/ mnt / sdcard".

0 голосов
/ 20 июня 2011

К счастью, это невозможно.

...