Где в файловой системе устанавливаются приложения?

Я установил несколько приложений Android с помощью команды adb install MyApplication.apk и через веб-сервер (как альтернатива Android Market).

Но где в файловой системе Android на моем телефоне находится файл MyApplication.apk ? Приложения, установленные с помощью adb install , не помещаются в тот же каталог, что и приложения, загруженные из Маркета?

Я нашел некоторые приложения в /system/ app , но я не могу распознать их как загруженные с Android Market или те, которые я установил с помощью adb install .

Где в системе находятся ли установленные мной приложения?

Мой телефон не рутирован, и я использую Nexus One с Android 2.2.1.


Где Хранение приложения во многом зависит от нескольких критериев:

  • Системные приложения/pre-installed-bloatware-apps хранятся в /system/app с привилегированными приложениями в /system/priv-app (которые монтируются только для чтения, чтобы предотвратить любые изменения). Вы также можете найти системные приложения в подкаталогах /custpack/app .
  • обычные приложения во внутренней памяти перейдите в /data/app
  • некоторые приложения (зашифрованные во внутренней памяти?) переходят в /data/app-private
  • Приложения, хранящиеся на внешняя память переходит в зашифрованный контейнер в /mnt/sdcard/.android_secure . Поскольку во время выполнения Android требуется, чтобы они были расшифрованы, он расшифрует их и сохранит расшифрованную копию в tmpfs (чтобы она была перезагружена) в /mnt/asec
    (вы не можете просто заглянуть в /mnt/sdcard/.android_secure прямо с устройства; но если вы используете устройство для чтения карт и подключаете карту к компьютеру, вы будут видеть файлы с расширением .asec вместо .apk — из которого вы получите соединение с именем / mnt/asec ).
  • данные приложений хранятся ниже /data/data/ (внутреннее хранилище) или на внешнем хранилище, если разработчик придерживается правил, ниже /mnt/sdcard/Android/data/.

Они хранятся в /data/app/, но если ваш телефон не рутирован, все, что вы увидите, — это пустая папка.

3

v>

На моем Android 4.0.4 (ICS) Xperia ray они хранятся в /mnt/asec/XXX-1/pkg.apk . XXX — это идентификатор приложения в Google Play.
Например, Firefox находится по адресу /mnt/asec/org.mozilla.firefox-1/pkg.apk , а Skype находится по адресу /mnt/asec/com.skype.raider-1/pkg. apk .

После комментария zuul я сделал эти снимки экрана со своего телефона, чтобы подтвердить свой ответ..

Секундомер и таймер обратного отсчета

И это данные моего телефона:

6


На моем Kindle Fire многие из apks, которые я не установил из своего магазина приложений (apks из внешних источников, например: Aptoide и т. д.), находятся в моей папке загрузок. Остальные я нахожу в папке/system/app.



Добавить аналитику в свое приложение для Android

Примите участие в нашем опросе разработчиков. Нам нужны ваши отзывы, чтобы мы могли узнать, как улучшить Google Analytics и сделать его еще лучшим инструментом для вас.

В этом руководстве показано, как добавить Google Analytics в приложение Android для измерения активности пользователей на именованных экранах. . Если у вас еще нет приложения и вы просто хотите посмотреть, как работает Google Analytics, взгляните на наш образец приложения.

Требуется : последние версии:

  • Android Studio
  • Сервисы Google Play

Настройте свой проект

Обновите файл AndroidManifest.xml своего проекта, включив в него разрешения INTERNET и ACCESS_NETWORK_STATE :

      ...    

Добавьте следующую зависимость в build.gradle уровня вашего проекта:

  dependencies {// ... classpath 'com.google.gms: google-services: 3.0.0'}  

Добавьте следующую зависимость cy в сервисах Google Play в app/build.gradle :

  dependencies {//... compile 'com.google.android.  gms: play-services-analytics: 10.2.4 '}  

Создайте global_tracker.xml

Создайте файл app/src /res/xml/global_tracker.xml со следующим содержанием:

   xml version = "1.0" encoding = "utf-8"?>   $ {YOUR_TRACKING_ID}    

Заменить $ {YOUR_TRACKING_ID} с вашим идентификатором отслеживания.

Добавить отслеживание экрана

Здесь вы будете отправлять именованное представление экрана в Google Analytics всякий раз, когда пользователь открывает или меняет экраны в вашем приложении. Ваш код должен делать следующее:

  • Предоставлять общий трекер через подкласс приложения.
  • Переопределить метод обратного вызова для активности переднего плана.
  • Задайте имя для экрана и выполните отслеживание.

Application

Вы должны создать подкласс Application и укажите вспомогательный метод, который возвращает трекер вашего приложения. >

 /* * Авторские права Google Inc. Все права защищены.  * * Под лицензией Apache License версии 2.0 («Лицензия»);  * вы не можете использовать этот файл, кроме как в соответствии с Лицензией.  * Вы можете получить копию Лицензии на * * http://www.apache.org/licenses/LICENSE-2.0 * * Если это не требуется действующим законодательством или не согласовано в письменной форме, программное обеспечение *, распространяемое по Лицензии, распространяется на  ОСНОВАНИЕ «КАК ЕСТЬ» * БЕЗ ГАРАНТИЙ ИЛИ УСЛОВИЙ ЛЮБОГО РОДА, явных или подразумеваемых.  * См. Лицензию для получения информации о разрешениях и * ограничениях на конкретном языке в соответствии с Лицензией.  */package com.google.samples.quickstart.analytics; import android.app.Application; import com.google.android.gms.analytics.GoogleAnalytics; import com.google.android.gms.analytics.Tracker;/** *  Это подкласс {@link Application}, используемый для предоставления общих объектов для этого приложения, таких как * {@link Tracker}.  */открытый класс AnalyticsApplication расширяет приложение {private static GoogleAnalytics sAnalytics;  частный статический трекер sTracker;  @Override public void onCreate () {super.onCreate ();  sAnalytics = GoogleAnalytics.getInstance (это);  }/** * Получает {@link Tracker} по умолчанию для этого {@link Application}.  * @return tracker */synchronized public Tracker getDefaultTracker () {//Чтобы включить ведение журнала отладки, используйте: adb shell setprop log.tag.GAv4 DEBUG if (sTracker == null) {sTracker = sAnalytics.newTracker (R.xml.global_tracker)  ;  } return sTracker;  }}  

Действие или фрагмент

Откройте действие, которое вы хотите отслеживать. Вы также можете отслеживать фрагмент , но убедитесь, что он правильно представляет вид экрана.

Переопределите метод onCreate для Activity или Fragment , которые вы хотите отслеживать, чтобы получить общий экземпляр Tracker :

 //Получить общий экземпляр Tracker. AnalyticsApplication application = (AnalyticsApplication) getApplication (); mTracker = application.getDefaultTracker ();  

Переопределить соответствующий метод, например onResume для Activity или onPageSelected для ViewPager , чтобы регистрировать, когда экран изменения.

  Log.i (TAG, "Установка имени экрана:" + имя); mTracker.setScreenName ("Изображение ~" + имя); mTracker.send (новые HitBuilders  .ScreenViewBuilder (). build ());  

Добавить код отслеживания для каждого Activity или Fragment , представляющего экран. Обязательно задавайте имя внутри каждого Activity или Fragment , если вы хотите различать просмотры экрана для вашего приложения в Analytics. Все действия, записанные на общем трекере, отправляют самое последнее экранное имя, пока оно не будет заменено или очищено (установлено в null ).

Отправить событие

Чтобы отправить событие, установите значения поля экрана в трекере, а затем отправьте обращение. В следующем примере используется HitBuilders.EventBuilder для отправки Event :

  mTracker.send (new HitBuilders.EventBuilder () .setCategory ("Action") .setAction ("Share") .build ());  

Дальнейшие действия

  • Прочтите Руководство по внедрению мобильного приложения, чтобы узнать, как использовать GoogleAnalytics для измерения взаимодействия с пользователем и ответить на вопросы о приложении. использование.

  • Просмотрите дополнительные параметры конфигурации, такие как выборка, тестирование и отладка, параметры отказа и т. д.

  • Если вашему приложению необходимо собирать рекламные идентификаторы, включите для него рекламные функции.

[{«type»: «thumb-down», «id»: «missingThe InformationINeed «,» label «:» Отсутствует нужная мне информация «}, {» type «:» thumb-down «,» id «:» tooComplicatedTooManySteps «,» label «:» Слишком сложно/слишком много шагов «}, { «type»: «thumb-down», «id»: «outOfDate», «label»: «Out of date»}, {«type»: «thumb-down», «id»: «samplesCodeIssue», «label «:» Примеры/Проблема с кодом «}, {» type «:» thumb-down «,» id «:» otherDown «,» label «:» Other «}] [{» type «:» большой палец вверх «,» id «:» easyToUnderstand «,» label «:» Легко понять «}, {» type «:» thumb-up «,» id «:» resolMyProblem «,» label » : «Моя проблема решена»}, {«type»: «thumb-up», «id»: «otherUp», «label»: «Other»}]

Оцените статью
clickpad.ru
Добавить комментарий