Да, это можно сделать. Вот как это делается:
Во-первых, вы должны получить список всех установленных приложений. Это может быть сделано с помощью фрагмента кода из this SO question:
final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
final List pkgAppsList = getPackageManager().queryIntentActivities(mainIntent, 0);
for (Object object : pkgAppsList) {
ResolveInfo info = (ResolveInfo) object;
File file =new File(info.activityInfo.applicationInfo.publicSourceDir);
// copy the .apk file to wherever
}
Это позволяет получить ссылку на файл для любого APK, установленной на устройстве. После того, как у вас есть файл, вы можете записать его на внешнее хранилище или загрузить его на сервер.
... для чего? Кажется, что действие ** пиратства **, ** украсть apks ** из пользовательских устройств! –
Я же сказал вам: я хочу проанализировать онлайн-онлайн. Почему это должно быть пиратством? Я могу получить любой apk, подключив смартфон к компьютеру. Поэтому я задаюсь вопросом, возможно ли такое поведение «онлайн». – null
Никто не хочет, чтобы хакер анализировал их ** apks **. –