Чтение названий активности из файла apk в Android

Я хочу извлечь все имена действий из файла apk android. Любая идея, как это возможно?

Thanx Kaps

Вы можете использовать метод PackageManager getPackageArchiveInfo для извлечения информации из файла APK. Предполагая, что ваш APK живет в корне вашей SD-карты, вы можете использовать этот код:

String apkPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/MyApp.apk"; PackageManager pm = getPackageManager(); PackageInfo info = pm.getPackageArchiveInfo(apkPath, PackageManager.GET_ACTIVITIES); //Log.i("ActivityInfo", "Package name is " + info.packageName); for (android.content.pm.ActivityInfo a : info.activities) { Log.i("ActivityInfo", a.name); } 

Существует много дополнительной информации, которую вы можете найти в объектах ActivityInfo и PackageInfo.

Если вы просто хотите перечислить их из командной строки, вы можете использовать

 aapt dump xmltree <apk-file> AndroidManifest.xml 

Сначала формат немного озадачен, но вся информация есть.

Конечно, для этого вам нужен Android SDK.

Вы можете использовать декомпилятор вроде Dedexer, а затем можете взглянуть на манифест.

其实 不用 得到 APK 的 路径, 直接 在 активность 内 调用

(Перевод на английский язык) Вам не нужно использовать полный путь к APK, просто вызовите следующее непосредственно изнутри Activity.

 PackageManager manager = getPackageManager(); PackageInfo packageInfo = manager.getPackageInfo("your package name", PackageManager.GET_UNINSTALLED_PACKAGES); 
Intereting Posts
Не удается создать проект Gradle с Android Studio Размер фонового изображения Android в пикселях Android: отправка SMS через намерение с телом и возвращение назад. Zipalign – команда не найдена – терминал MAC Какие действия выполняет кнопка «назад / назад» на Android-триггере? Получить новое растровое изображение масштабированного и видимого изображения Запись вызова Android с использованием ALSA / CAF Gradle пропускает задачу X, поскольку у нее нет исходных файлов Разработка смарт-карт в Android System.lineSeparator () не существует в android Android – получить результат из диалогового окна изменения SMS по умолчанию Использование MatrixCursor и SimpleCursorAdapter в ListView с текстом и изображениями Как предотвратить мягкую клавиатуру Android от изменения размера моей активности Студия Android не перечисляет мой телефон в разделе «Выбрать устройство», В чем разница между кучей далвика и родной кучей в андроиде? Который фиксирован.