Depois que o android instala um aplicativo do Marketplace, ele mantém o arquivo .apk?
Existe um local padrão em que o Android mantenha esses arquivos?
Os aplicativos pré-instalados estão na /system/app
pasta. Os aplicativos instalados pelo usuário estão dentro /data/app
. Eu acho que você não pode acessar, a menos que tenha um telefone root. Não tenho um telefone root aqui, mas tente este código:
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]);
}
}
Ele lista os apks na minha magia htc enraizada e no ema.
Você pode usar o gerenciador de pacotes (
pm
)adb shell
para listar os pacotes:e para exibir onde está o
.apk
arquivo:E
adb pull
para baixar o apk.fonte
adb pull /data/app/com.example.app-filename.apk path/to/desired/destination
Se você deseja apenas obter um arquivo APK de algo que você instalou anteriormente, faça o seguinte:
Você não precisa fazer root no telefone, usar
adb
ou escrever nada.fonte
Não existe um local padrão; no entanto, você pode usar o PackageManager para descobrir pacotes e a classe ApplicationInfo que você pode obter possui várias informações sobre um pacote específico: o caminho para o arquivo .apk, o caminho para o diretório de dados, o caminho para um .apk somente de recurso (para aplicativos bloqueados a frente), etc. Observe que você pode ou não ter permissão para ler esses diretórios, dependendo do seu relacionamento com o outro aplicativo; no entanto, todos os aplicativos podem ler o recurso .apk (que também é o verdadeiro .apk do aplicativo sem bloqueio de encaminhamento).
Se você está apenas bisbilhotando no shell, os aplicativos atualmente não bloqueados para frente estão localizados em /data/app/.apk. O usuário do shell pode ler um .apk específico, embora não possa listar o diretório. Em uma versão futura, a convenção de nomenclatura será ligeiramente alterada; portanto, não conte com a mesma, mas se você obtiver o caminho do .apk no gerenciador de pacotes, poderá usá-lo no shell.
fonte
Aplicativos pré-instalados geralmente estão em / system / app e aplicativos instalados pelo usuário estão em / data / app.
Você pode usar "adb pull", mas precisa saber o caminho completo do arquivo APK. No emulador, você pode obter uma lista de diretórios usando "adb shell" + "ls". Mas em um dispositivo Android, você não poderá fazer isso na pasta "/ data" devido a razões de segurança. Então, como você descobre o caminho completo do arquivo APK?
Você pode obter uma lista completa de todos os aplicativos instalados escrevendo um programa que consulta o PackageManager. Snippet de código curto abaixo:
Você também pode encontrar aplicativos que fornecerão essas informações. Há muitos deles. Experimente este (AppSender).
fonte
Se você está procurando o caminho de um aplicativo específico, uma solução rápida e suja é apenas cumprimentar o relatório de erros:
Não sei se isso fornecerá uma lista exaustiva, portanto, pode ajudar a executar o aplicativo primeiro.
fonte
Instalar a partir do marketplace
É o comportamento do marketplace manter o apk após a instalação. O Google play não mantém o apk após a instalação. Outros mercados de terceiros podem ter comportamentos diferentes.
Instale a partir da ferramenta de desenvolvimento / depuração (adb, eclipse, android studio)
Quando instalamos o apk da ferramenta de depuração, invocamos diretamente
adb install
ou do eclipse / android studio, o apk será transferido (adb push
) para um diretório público de leitura e gravação, geralmente/data/local/tmp/
. Depois disso, a ferramenta usará opm
comando para instalar, excluirá o apk temporário/data/local/tmp/
após a instalação bem-sucedida.Poderíamos obter essas informações da saída de depuração, como a seguir.
Como o sistema mantém o apk
Claro que o sistema precisa armazenar todos os aplicativos em algum lugar. Existem três locais para o sistema manter os aplicativos baseados nos diferentes tipos de aplicativos:
para aplicativo de ações
Geralmente, eles são enviados no dispositivo pelo fabricante, incluindo o aplicativo principal para o sistema em execução e o serviço google, você pode encontrá-los no diretório
/system/app
e/system/priv-app
.aplicativo instalado pelo usuário
A maioria dos aplicativos se enquadra nessa categoria. Esses aplicativos geralmente são instalados no mercado por usuários ou por opção
adb install
sem-s
opção. Você pode encontrá-los no diretório/data/app
de um dispositivo raiz.app no sdcard
Se o apk ativar o local de instalação no sdcard com
android:installLocation="auto"
o manifesto, o aplicativo poderá ser movido para sdcard no menu do gerenciador de aplicativos do sistema. Esses aplicativos geralmente estão localizados na pasta segura do sdcard/mnt/sdcard/asec
.Antera maneira de forçar o local de instalação para sdcard está usando o comando
adb install -s apk-to-install.apk
.Como nota, os arquivos do aplicativo pré-instalado não estão mais em um único
.apk
arquivo. Há uma pasta que contém arquivos para todos os aplicativos pré-instalados no diretório/system/app
ou/system/priv-app
para a versão mais recente do Android.fonte
Você pode puxar aplicativos com o ADB. Eles estão em / data / App /, acredito.
Observe que você precisa fazer root no telefone para obter aplicativos protegidos contra cópia.
fonte
Em / data / app, mas para proteção contra cópia, acho que você não pode acessá-lo.
fonte
Se você estiver enraizado, faça o download do aplicativo Root Explorer. Melhor gerenciador de arquivos para usuários rooteados. De qualquer forma, o sistema / aplicativo possui todos os aplicativos padrão que acompanham o telefone e o data / apk possui todos os aplicativos dos aplicativos que você instalou. Basta pressionar o apk que deseja (enquanto estiver no Root Explorer), acessar a pasta / sdcard e colar.
fonte
Use isso para listar todos os .apks em / data / app /
fonte
Você pode obter os .apks de qualquer um deles:
fonte
Os arquivos .apk podem estar localizados no diretório / data / app /. Usando o ES File Explorer , podemos acessar esses arquivos .APK.
fonte
se você estiver usando eclipse goto DDMS e, em seguida, explorador de arquivos, verá a pasta System / Apps e os aplicativos estão lá
fonte
Quando instalei meu aplicativo no emulador, ele mostrou meu arquivo .apk em
Depois de instalar o aplicativo, use o comando ls vie shell e verifique o diretório desejado, mas isso depende do tipo de aplicativo que você está tentando instalar. Eu usei esse método para instalar o ponto se algo estiver errado.
fonte
Outra maneira de obter os
apk
itens que você não consegue encontrar, em um dispositivo enraizado, é com a caixa de ferramentas rom .Faça um backup usando o gerenciador de aplicativos, vá para
storage/emulated/appmanager
e verifique o backup do aplicativo do sistema ou o backup do aplicativo do usuário .fonte
Para encontrar um
apk
, baixe e instale o Bluetooth App Sender na Play Store. Após a conclusão da instalação, abra o Bluetooth App Sender. Ele mostrará todos os aplicativos(.apk)
instalados no seu dispositivo, e você poderá transferi-lo facilmente para o seu PC via Bluetooth.fonte
Ao contrário do que está escrito na resposta escolhida, você não precisa de raiz e é possível obter os APKs dos aplicativos instalados, e foi assim que o fiz no meu aplicativo ( aqui ). Exemplo:
Em seguida, para cada um dos itens da lista, você pode acessar o packageInfo.applicationInfo.sourceDir , que é o caminho completo do APK do aplicativo instalado.
fonte
Bem, eu vim para este post porque eu queria reinstalar algum aplicativo que eu gostei muito. Se esse for o seu caso, basta acessar o Google Play e procurar Meus aplicativos, a guia Todos, e você encontrará uma maneira de reinstalar um aplicativo que você gostou. Eu enfrentei um problema que não consegui encontrar pesquisando um aplicativo, mas estava lá em Meus aplicativos para que eu pudesse reinstalar no meu novo celular;)
fonte