После того, как андроид устанавливает приложение с Рынка, это сохраняет .apk файл?
Существует ли стандартное местоположение, где Android сохранил бы такие файлы?
Предустановленные приложения находятся в папке / system / app
. Установленные пользователем приложения находятся в / data / app
. Полагаю, вы не сможете получить доступ, если у вас нет рутированного телефона.
У меня здесь нет рутированного телефона, но попробуйте этот код:
public class Testing extends Activity {
private static final String TAG = "TEST";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
File appsDir = new File("/data/app");
String[] files = appsDir.list();
for (int i = 0 ; i < files.length ; i++ ) {
Log.d(TAG, "File: "+files[i]);
}
}
В нем перечислены файлы apks в моем рутированном магии htc и в эму.
Вы можете загружать приложения с помощью ADB. Думаю, они находятся в / data / App /.
adb pull (location on device) (where to save)
Обратите внимание, что для загрузки приложений, защищенных от копирования, вы должны рутировать телефон.
В / data / app, но для защиты от копирования я не думаю, что вы можете получить к нему доступ.
Стандартного расположения не существует, однако вы можете использовать PackageManager, чтобы узнать о пакетах и Класс ApplicationInfo, который вы можете получить оттуда, содержит различную информацию о конкретном пакете: путь к его .apk, путь к его каталогу данных, путь только к ресурсу.apk (для приложений с прямой блокировкой) и т. д. Обратите внимание, что у вас может быть или не быть разрешения на чтение этих каталогов в зависимости от ваших отношений с другим приложением; однако все приложения могут читать ресурс .apk (который также является настоящим .apk для приложения без переадресации).
Если вы просто ковыряетесь в оболочке, в настоящее время приложения без предварительной блокировки находятся в /data/app/.apk. Пользователь оболочки может читать определенный .apk, но не может перечислить каталог. В будущем выпуске соглашение об именах будет немного изменено, поэтому не рассчитывайте, что оно останется прежним, но если вы получите путь к .apk из диспетчера пакетов, вы можете использовать его в оболочке.
Когда я установил свое приложение на эмулятор, он показал мой файл .apk в
data / app. Затем я использовал ls data / app // чтобы узнать, существует ли оно или not
После установки приложения просто используйте команду ls vie shell и проверьте желаемый каталог, но это зависит от того, какое приложение вы пытаетесь установить. Я использовал этот метод для установки Укажите, если что-то не так.