Onde posso obter um binário de linha de comando do SQLite 3 para Android?

16

Quando leio uma documentação como examinar os bancos de dados SQLite 3 a partir de um shell remoto, tenho a impressão de que um binário de linha de comando do SQLite deve existir no meu telefone. Infelizmente, não consigo encontrá-lo no meu telefone (mas estou executando uma ROM personalizada).

Eu li alguns outros posts que aludem à existência de um binário desse tipo ou mencionam como ele está disponível apenas no emulador, mas não há nada definitivo.

Esse binário está disponível em algum lugar?

Outras referências:

fostandy
fonte
1
Suponho que você possa tentar extraí-lo de outra ROM (ou emulador) e colocá-lo no seu dispositivo, mas não tenho idéia se isso funcionaria ou apenas travaria. O CM6, por exemplo, possui o sqlite3binário.
Eldarerathis
no meu Samsung Spica - usando o Samdroid mod -, basta digitar sqlite3 no emulador de terminal ou no shell adb.
Lie Ryan
2
Esta é uma pergunta para desenvolvedores?
Mateus Leia
2
@Matthew - nope
fostandy

Respostas:

7

Sua melhor aposta seria usar o ADB e retirá-lo do emulador ou retirá-lo de outra ROM. Você precisará colocá-lo no seu dispositivo, mas precisará ter root para colocá-lo no diretório com os outros binários.

sqlite3não vem na maioria dos dispositivos. Eu acho que ele só vem nos telefones dos desenvolvedores, como ADP1 / ADP2 e Nexus One / Nexus S.Eu ​​sei que ele não está nos dispositivos Samsung Galaxy S, como o Vibrant (acho que está no Nexus S).

Ryan Conrad
fonte
4

Como outros posts mencionaram, o sqlite3binário é normalmente usado via ADB no seu PC.

Se tudo o que você quer fazer é gerenciar bancos de dados SQLite localmente, achei o aplicativo gratuito aSQLiteManager muito útil. Além de uma GUI simples para gerenciar e visualizar dados, ela permite executar consultas arbitrárias.

CjS
fonte
3

Reunimos alguns scripts de compilação para compilar o SQLite para Android Native Code usando o Android NDK. Ele constrói a CLI do SQLite em duas versões: vinculada estaticamente e dinamicamente, além de bibliotecas estáticas e compartilhadas. Você pode obter os scripts do meu GitHub e criar os binários:

https://github.com/stockrt/sqlite3-android

Espero que isso seja útil para alguém.

Rogério Schneider
fonte
2

SuperOneClick realmente tem uma cópia do binário. Ele mora na Dependenciespasta e, de acordo com um pôster no Stack Overflow , funciona quando pressionado no dispositivo (presumo que ele deva funcionar na maioria dos dispositivos, já que o SuperOneClick o usa).

eldarerathis
fonte
0

Tirá-lo do emulador não funcionará.

Encontrei um binário 1.6 aqui . Essa página detalha as informações de portabilidade; portanto, se o binário 1.6 não funcionar, tente portar / compilar uma nova versão.


fonte
0

O tech128 do XDA Forum fornece sqlite3binário compilado para Android.

Na redação atual,

Aqui está o SQLite 3.8.11.1 combinado em um único arquivo de origem (a fusão) para o ARM v6 e v7.

Esses binários são criados com sinalizadores armv6 e armv7 otimizados.

Deve funcionar no Android 2.xe acima.

Anexei 2 versões a este segmento, compactadas e descompactadas. Eu tive que alterar a extensão para, .xapcaso contrário, não posso carregá-la. Apenas remova a extensão .

Basta baixar e executar o arquivo descompactado, enquanto que você deve compactá-lo primeiro.

Comprimido

Descomprimido

Código fonte: https://github.com/tech128/sqlite3

Testei o armv7-pie (PIE necessário para o Lollipop) no meu Nexus 5 executando o Android 5.1.1 Lollipop e funcionou.

Andrew T.
fonte
0

Você pode instalar o Termux e instalar sqlite3via built-in apt(front-end do built-in dpkg).

iBug
fonte
-1

Um processo um pouco complicado, vou sugerir, porque não conheço outras maneiras :), obtenha o código-fonte do Android, compile-o. No diretório de saída, você obterá o binário do sqlite3 e depois o empurre para / system / bin / do seu telefone.

Sentou
fonte