Quando clico para executar um projeto que acabei de criar no Android Studio 0.2.10 e seleciono meu Android (conectado por USB com depuração por USB ativado), recebo este erro:
Waiting for device.
Target device: 0123456789ABCDEF
Uploading file
local path: /Users/Rui/AndroidStudioProjects/FirstAppProject/FirstApp/build/apk/FirstApp-debug-unaligned.apk
remote path: /data/local/tmp/rui.firstapp
Installing rui.firstapp
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/rui.firstapp"
pkg: /data/local/tmp/rui.firstapp
Failure [INSTALL_FAILED_INVALID_APK]
Alguma ideia do que possa ser?
android
android-studio
RuiG
fonte
fonte
MinSDK
eTargetSDK
em seu manifesto. Você já tentou instalar isso em um emulador? Isso determinará se o problema é com o APK ou com seu dispositivo.Respostas:
Eu estava obtendo isso no Android Studio e tudo que fiz para consertar foi ir para
"Build" > "Clean Project"
e funcionou.fonte
./gradlew clean
seguida por seu comando de compilação normalBasta remover o antigo APK android / app / build / outputs / apk / debug / app-debug.apk da pasta. Isso é tudo. aproveite sua codificação ...
fonte
rm -fr android/app/build/outputs/apk/debug/
Tive um problema semelhante uma vez, o que observei foi que o nome do pacote em meu Androidmanifest.xml foi iniciado com um caractere de espaço vazio.
like " com.example.test" instead of "com.example.test"
Eu removi todos esses espaços inválidos do meu arquivo de manifesto, isso resolveu meu problema
Edição 1 : '-' no nome do pacote também causa o mesmo problema em algumas versões do Android
fonte
invalidate cache and restart
que forçaria uma compilação limpa, aparentemente não.Eu tive o mesmo problema, mas nenhuma das soluções funcionou para mim. O problema é que eu não tinha . separadores no nome do meu pacote.
ou seja, se o nome do seu pacote é my.packagename está tudo bem, mas não pode ser apenas mypackagename
Peguei a dica deste relatório de bug.
https://code.google.com/p/android/issues/detail?id=55841
fonte
Se alguém ainda estiver tendo problemas, então Build-> Clean Project então Build-> Rebuild project finalmente Sincronize o projeto com o arquivo Gradle .
fonte
Como resolver este problema:
RootExplorer
tmp
pasta no cartão SDLink
esta pasta (última opção no menu)/data/local/
e toque no botãoCREATE LINK
de baixofonte
Eu tive esse problema e nenhuma das soluções acima funcionou para mim.
Por algum motivo, as permissões não foram definidas corretamente no meu
/data/local/tmp
diretório (apenas o root tinha rwx). Corrigi o problema usando ADB (você precisará de um dispositivo com acesso root):adb shell
/data/local
usarcd /data/local
su
tmp
diretório usandochmod 777 tmp
fonte
Desligar o Instant Run resolveu meu problema. Não sei nenhuma explicação até agora. Depois de migrar para o Android Studio 3.0, começa um problema como este. Espero que isso ajude alguém no futuro.
fonte
Quando experimentei esse problema, o que o corrigiu para mim foi garantir que o nome do pacote AndroidManifest.xml fosse o mesmo que build.grade applicationId.
fonte
Encontrei outro motivo para esse erro. Se você fez o root em seu dispositivo, as permissões de acesso de / data / local / tmp podem ser alteradas, então adb não pode obter acesso a seu arquivo temporário. A solução é criar a pasta "tmp" no sdcard e criar um link simbólico para ela em / data / local / (via shell ADB ou Root Explorer).
fonte
Se você escrever
android:extractNativeLibs="false"
no arquivo AndroidManifest. então mude paraandroid:extractNativeLibs="true"
fonte
Tentei a maioria das soluções oferecidas acima (as simples, não aquelas que oferecem chmod e alteram bibliotecas internas) e nenhuma delas funciona
Eventualmente, o que funcionou para mim foi: "Clean Project" -> "Rebuild Project" -> alterou o app versionName no build.gradle app module -> Sync Gradle -> Execute o app no dispositivo
fonte
Navegar para
Run/Debug Configurations
Clique em Executar na guia superior> Editar configurações
fonte
Isso ajudou no meu caso:
Settings -> Apps -> Google Play Store -> Click "Enable" button.
fonte
Eu encontrei esse problema por ter variantes de compilação incompatíveis. Um módulo de entrega dinâmica estava na variante de depuração, enquanto os módulos restantes estavam no lançamento. Simplesmente alterar o módulo de Entrega dinâmica para liberar, reconstruir e instalar corrigiu o problema.
fonte
Para projetos Flutter, com o editor de código VS, vá para a pasta de origem do projeto, exclua a pasta "build" e comece a depurar.
fonte
Eu tenho esse problema em um projeto com Dagger e vários módulos. O que funcionou para mim (nenhuma das opções acima funcionou) foi 1) esvaziar a pasta .gradle 2) esvaziar a pasta .idea 3) No projeto gradle.properties, marque org.gradle.caching = false 4) Possivelmente invalidar caches no AS , limpar, reconstruir
Você pode conseguir se safar com apenas o # 3, limpar e depois construir.
EDITAR: Ultimamente, tenho conseguido contornar isso reiniciando o AS, limpando e instalando novamente.
fonte
./gradlew installDebug
partir da linha de comandoA causa desse problema para mim foi ter a variante de compilação errada selecionada para um dos módulos do meu aplicativo. Na ferramenta "Build Variants", selecionei a variante do módulo que correspondia ao módulo do app e ela corrigiu o problema para mim.
fonte
Tive este problema no android Studio porque na minha compilação de Debug adicionei o sufixo do nome da versão -DEBUG e o - era o problema.
Tente ter apenas letras, números e pontos nos nomes de sua versão e ids de aplicativo
fonte
Eu simplesmente tive o mesmo erro. Tive o ano de 2015 no id do aplicativo. Substituí 2015 por quinze e isso resolveu.
Além disso, se você usa o Android Studio, pode tentar: Tools / Android / Synch Project with Gradle Files
fonte
Forçar Parar o aplicativo nas configurações do dispositivo.
fonte
Eu tive esse problema e nenhuma das soluções acima funcionou para mim.
A razão é provavelmente a versão root do telefone que tem cota disponível ou permissões de instalação do apk apenas no sdcard.
Corrigi o problema usando ADB (você precisará de um dispositivo com acesso root):
fonte
Parece haver vários motivos para essa falha. Para mim, o problema era que, no arquivo AndroidManifest, fiz referência a uma biblioteca não existente (apenas neste dispositivo específico) usando a tag 'uses-library'. Após remover a biblioteca que este dispositivo não tinha o apk foi instalado corretamente.
fonte
Usei o arquétipo maven androidquickstart e enfrentei o mesmo problema:
Meu nome de pacote era apenas androidquickstart. De acordo com conselhos anteriores
package="androidquickstart"
parapackage="androidquickstart.test"
e correspondentemente removido teste a partir de outras partes do XML<activity android:name=".test.HelloAndroidActivity" >
para<activity android:name=".HelloAndroidActivity" >
fonte
O nome do seu pacote deve incluir palavras combinadas por pontos como com.example ou prashant.mydairy ... deve funcionar bem agora
os arquivos em que você deve atualizar o nome do pacote são os seguintes: 1) Arquivo de manifesto 2) Arquivo Gradle (módulo appp): applicationId "package.name"
fonte
O nome taskAffinity deve ter pelo menos um '.' separador
fonte
Se você tiver acesso ao console do dispositivo (adb shell), altere as seguintes permissões:
Você também pode tentar copiar o apk
/data/local/
, nesse caso, certifique-se de definir as permissões corretas para o apk também.fonte
Parece que ter um número após o ponto foi o culpado.
Tive o mesmo problema com o seguinte applicationId
org.tony.stark.125jarvis
Alterando para
org.tony.stark.jarvis
Consegui instalar o aplicativo nos dispositivos Android.
fonte
Você pode obter este erro se o
minSdkVersion
nobuilde.gradle
é maior do que a versão Android do dispositivo. Nesse caso, você deve modificar ominSdkVersion
.fonte
exclua o código em AndroidManifest.xml:
ferramentas: substituir = "android: appComponentFactory" android: appComponentFactory = ""
funciona.
fonte