
tentando detectar óculos inteligentes próximos e avisar você
# yj_nearbyglasses
tentando detectar óculos inteligentes por perto e avisar você.
# ⚠ AVISO! ⚠
*nearby-glasses-alert.pages.dev* NÃO ESTÁ RELACIONADO AO MEU PROJETO. Muitos aplicativos na Play Store e na App Store parecem ou até se chamam de forma muito semelhante a *Nearby Glasses*. Eles parecem se apropriar do nome e tentar obter lucro rápido com isso. eles não aderem à licença AGPL, não dão nenhuma garantia. Eu não endosso isso.
---
<img width="135" height="300" align ="right" alt="Captura de tela Nearby Glasses clássico" src="https://assets.kitploit.com/production/public/readmes/12083/e76b27744afcd0893efe1992c440e28c6606e742fa390f1b2c9a79a34e5600d1.png" />
<img width="135" height="300" align ="right" alt="Captura de tela Nearby Glasses modo canary" src="https://assets.kitploit.com/production/public/readmes/12083/29c66ac6f3e7327f73700e7241c0ca93860a8f5cc3efdfdc619b8ee91873473a.png" />
# ⚠ AVISO! ⚠
**ASSEDIAR alguém porque você acha que a pessoa está usando um dispositivo de vigilância oculto pode ser um crime. Pode até ser uma infração mais grave do que usar tal dispositivo. Procure orientação jurídica sobre as leis locais a esse respeito.**
---
## ⚠ NÃO ASSEDIE NINGUÉM DE FORMA ALGUMA ⚠
---
# Nearby Glasses
O aplicativo, chamado *Nearby Glasses*, tem um único propósito: procurar óculos inteligentes por perto e avisar você.
<a href="https://play.google.com/store/apps/details?id=ch.pocketpc.nearbyglasses" target="_blank"><img width="239" height="71" alt="Get It On Google Play" src="https://assets.kitploit.com/production/public/readmes/12083/a7dbeba4623dd255798dd1159e543cdbeeb9e43faa6db7f859b0f9ed3699932c.png" /></a> <a href="https://apt.izzysoft.de/packages/ch.pocketpc.nearbyglasses" taget="_blank"><img height="71" src="https://assets.kitploit.com/production/public/readmes/12083/75659b864e0f38bedce979c2097721b9beae838a06434eaacb0e93815468735a.png" alt="Get it at IzzyOnDroid" /></a> <a href="https://apps.obtainium.imranr.dev/redirect?r=obtainium://add/https://github.com/yjeanrenaud/yj_nearbyglasses/"><img width="239" height="71" alt="Get it on Obtainium" src="https://assets.kitploit.com/production/public/readmes/12083/33e5685bdfff51e02830f2a18b5df5df986e73c2c8ae0f7cf031ebc791e5f771.png"/></a> <a href="https://f-droid.org/en/packages/ch.pocketpc.nearbyglasses/"><img src="https://raw.githubusercontent.com/yjeanrenaud/yj_nearbyglasses/main/img/get-it-on-fdroid.png?raw=true" alt="Get it on F-Droid" width="213" /></a> <a href="https://apps.apple.com/us/app/nearby-glasses-original/id6761056896"><img width="213" height="71" alt="Download on the App Store" src="https://assets.kitploit.com/production/public/readmes/12083/a6fa504b048d52b4e9f5108021dce33af0d96b8b78c34095072971f4a34471fa.png" /></a>
# Índice
* [Nearby Glasses](#Nearby-Glasses)
* [Por quê?](#why)
* [Como?](#how)
* [Recursos](#features)
* [O que é RSSI?](#whats-rssi)
* [iOS e Android](#ios-and-android)
* [Uso](#usage)
* [Tarefas pendentes](#todos)
* [Solucionismo tecnológico?](#tech-solutionism)
* [Compilar a partir do código-fonte](#build-from-source)
* [Agradecimentos](#shoutouts)
* [Licença e créditos](#license-and-credits)
Este aplicativo notifica você quando óculos inteligentes estão por perto. Ele usa identificadores de fabricante nos dados Bluetooth enviados por esses dispositivos. Portanto, provavelmente há falsos positivos (por exemplo, de headsets de VR). Assim, proceda com cautela ao se aproximar de uma pessoa por perto usando óculos. Podem ser apenas óculos comuns, apesar do aviso deste aplicativo.
O autor do aplicativo, [Yves Jeanrenaud](https://yves.app), não assume qualquer responsabilidade pelo aplicativo nem pelo seu funcionamento. Use por sua conta e risco. Por design técnico, a detecção de dispositivos Bluetooth LE pode, por vezes, simplesmente não funcionar como esperado. Não sou um desenvolvedor formado. Tudo isto foi escrito no meu tempo livre e com conhecimentos que aprendi sozinho.<br/>
**Falsos positivos são prováveis.** Isto significa que o aplicativo *Nearby Glasses* pode notificá-lo de óculos inteligentes por perto quando, na verdade, pode haver um headset de VR do mesmo fabricante ou outro produto da mesma linha daquela empresa. Também pode deixar de detetar óculos inteligentes por perto. Repito: não sou um desenvolvedor profissional.<br/>
No entanto, este aplicativo é **gratuito e de código aberto**, pode rever o código, alterá-lo e reutilizá-lo (sob a [licença](https://github.com/yjeanrenaud/yj_nearbyglasses/blob/main/LICENSE)).<br/>
O aplicativo *Nearby Glasses* não armazena quaisquer detalhes sobre si nem recolhe qualquer informação sobre si ou sobre o seu telefone. Não há telemetria, nem anúncios, nem qualquer outra incomodidade. Se instalar o aplicativo através da Play Store, a Google pode saber algo sobre si e recolher algumas estatísticas. Mas o aplicativo em si não o faz. <br/>
Se optar por armazenar (exportar) o ficheiro de registo, isso é inteiramente da sua responsabilidade e é da sua conta para onde esses dados vão. Os registos são gravados apenas localmente e não são partilhados automaticamente com ninguém. Contêm poucos dados sensíveis; na verdade, apenas os códigos de ID do fabricante dos dispositivos BLE encontrados.<br/>
<br/>
**Use com extrema cautela!** Como já foi dito: não há garantia de que os óculos inteligentes detetados estejam realmente por perto. Pode ser outro dispositivo tecnicamente (ao nível do BLE adv) semelhante a óculos inteligentes.<br/>
Por favor, não aja precipitadamente. **Pense antes de agir com base em qualquer mensagem** (não apenas deste aplicativo).<br/>
<br/>
## Porquê?
- Porque considero os óculos inteligentes uma intrusão intolerável, uma peça de tecnologia horrível que desrespeita o consentimento e que já está a ser usada para criar vários e inúmeros 'conteúdos' igualmente verdadeiramente repugnantes. [1](https://www.404media.co/border-patrol-agent-recorded-raid-with-metas-ray-ban-smart-glasses/), [2](https://www.404media.co/metas-ray-ban-glasses-users-film-and-harass-massage-parlor-workers/)
- Alguns óculos inteligentes têm um pequeno LED que indica que está a decorrer uma gravação. Mas isto é facilmente desativado, enquanto os fabricantes afirmam impedi-lo e não assumem qualquer responsabilidade (a tecnologia tende a fazer isso há décadas). [3](https://www.404media.co/how-to-disable-meta-rayban-led-light/)
- Os óculos inteligentes já foram usados para reconhecimento facial instantâneo [4](https://www.404media.co/someone-put-facial-recognition-tech-onto-metas-smart-glasses-to-instantly-dox-strangers/) e, segundo relatos, virão de fábrica com essa funcionalidade [5](https://www.nytimes.com/2026/02/13/technology/meta-facial-recognition-smart-glasses.html). Isto coloca muitas pessoas em perigo.
- Os dados são usados para treinar IA, o que significa que as pessoas irão analisar as gravações e ver, provavelmente, os insights mais íntimos [6](https://www.svd.se/a/K8nrV4/metas-ai-smart-glasses-and-data-privacy-concerns-workers-say-we-see-everything)
- Espero que este aplicativo seja útil para alguém.
## Como?
- É uma abordagem simples e bastante heurística. Como o BLE usa MAC aleatório e os OSSID não são estáveis, nem o UUID dos anúncios de serviço, não se pode simplesmente procurar os beacons Bluetooth. E, para tornar as coisas ainda mais difíceis, alguns, como a Meta, por exemplo, usam serviços Bluetooth proprietários e os UUID não são persistentes, ~~só nos podemos basear nos nomes dos dispositivos comunicados por enquanto~~.
- A **abordagem mais viável** atualmente vem do [repositório de números atribuídos do Bluetooth SIG](https://www.bluetooth.com/specifications/assigned-numbers/). Segundo este, o nome da empresa fabricante aparece como códigos numéricos no cabeçalho de anúncio de pacotes (ADV) dos beacons BLE.
- é assim que se parecem as frames de publicidade BLE:
```
Frame 1: Advertising (ADV_IND)
Time: 0.591232 s
Address: C4:7C:8D:1E:2B:3F (Random Static)
RSSI: -58 dBm
Flags:
02 01 06
Flags: LE General Discoverable Mode, BR/EDR Not Supported
Manufacturer Specific Data:
Length: 0x1A
Type: Manufacturer Specific Data (0xFF)
Company ID: 0x058E (Meta Platforms Technologies, LLC)
Data: 4D 45 54 41 5F 52 42 5F 47 4C 41 53 53
Service UUIDs:
Complete List of 16-bit Service UUIDs
0xFEAA
```
- De acordo com o [repositório de números atribuídos do Bluetooth SIG](https://github.com/yjeanrenaud/yj_nearbyglasses/blob/main/www.bluetooth.com/specifications/assigned-numbers), podemos usar estes company IDs:
- `0x01AB` para `Meta Platforms, Inc. (formerly Facebook)`
- `0x058E` para `Meta Platforms Technologies, LLC`
- `0x0D53` para `Luxottica Group S.p.A` (que fabrica os Meta Ray-Bans)
- `0x03C2` para `Snapchat, Inc.` (que fabrica os SNAP Spectacles)
- `0x05D6` para `Zhuhai Jieli Technology Co` (que fabrica os Rogbird VisionPro e Rollme VistaView)
Eles são **imutáveis e obrigatórios**. Naturalmente, a Meta e outros fabricantes também têm outros produtos que vêm com Bluetooth e, portanto, o seu ID, por exemplo, headsets VR. Por isso, usar estes códigos de company ID no processo de scanning da app está sujeito a falsos positivos. Mas se não consegues ver alguém a usar um Occulus Rift à tua volta e não há edifícios onde se possam esconder, as probabilidades são boas de que sejam óculos inteligentes.
- Durante o emparelhamento, os óculos inteligentes normalmente emitem o nome do produto, por isso também podemos fazer scan disso. Mas é raro vermos isso no terreno. As pessoas com intenção de usar óculos inteligentes em bares, pubs, na rua e noutros locais normalmente preparam-se para isso antecipadamente.
- Quando a app reconhece um dispositivo Bluetooth Low Energy (BLE) com uma intensidade de sinal suficiente (ver RSI abaixo), envia uma mensagem de alerta. Isto deve ajudar-te a agir em conformidade.
- Além disso, fazemos scan dos nomes de dispositivos difundidos, por exemplo, `rayban`, `ray-ban` ou `HeyCyan`. `HeyCyan` é [um SDK famoso para óculos inteligentes de várias marcas](https://github.com/ebowwa/HeyCyanSmartGlassesSDK). Entre esses dispositivos *HeyCyan*, também podes encontrar os Nilox Smart AI Glasses, que são vendidos pela ALDI e pela Hofer (na Áustria). Para reforçar isto, também procuramos o `primary_UUID`, um identificador de serviço que está fixado no lado do software desses óculos (`7905FFF0-B5CE-4E99-A40F-4B1E122D00D0`). Embora isto possa mudar no futuro, é improvável, pois tornaria os dispositivos mais antigos inutilizáveis, pelo que poderemos simplesmente adicionar mais UUIDs à rotina de scanning nessa altura.
## Funcionalidades
- A app *Nearby Glasses* mostra uma notificação quando há óculos inteligentes por perto (ou seja, um dispositivo BLE de um dos company IDs mencionados acima)
- **Por perto** significa que o RSSI (intensidade do sinal) é menor ou igual a um valor determinado: -75 dBm por predefinição. Este valor predefinido corresponde a uma distância média e a um sinal razoável.
### O que é RSSI?
- Deixe-me explicar um pouco o valor de RSSI:<br/>
RSSI é a abreviação de Received Signal Strength Indication (Indicação de Intensidade do Sinal Recebido). O valor é uma indicação da intensidade do campo de recepção de aplicações de comunicação sem fio. [A Wikipedia tem um artigo bastante bom](https://en.wikipedia.org/wiki/Received_signal_strength_indicator) sobre isso.
Em resumo, o RSSI depende principalmente de:<br/>
- Potência de transmissão do dispositivo
- Design da antena
- Paredes e obstáculos
- Corpos humanos absorvendo o sinal
- Reflexão e interferência
- Orientação do dispositivo<br/>
Mas em cenários típicos de BLE (Bluetooth Low Energy), a distância aproximada pelo RSSI (espaço aberto) é: <br/>
- -60 dBm ~ 1 – 3 m<br/>
- -70 dBm ~ 3 – 10 m<br/>
- -80 dBm ~ 10 – 20 m<br/>
- -90 dBm ~ 20 – 40 m<br/>
- -100 dBm ~ 30 – 100+ m ou próximo da perda de sinal<br/>
Em ambientes internos, as distâncias costumam ser bem menores.<br/>
O RSSI cai aproximadamente de acordo com<br/>
`RSSI ≈ -10 * n * log10(distance) + constant`<br/>
- Portanto, o limite padrão de RSSI de -75 dBm corresponde a cerca de 10 a 15 metros em espaço aberto e 3 a 10 metros em ambientes internos ou em espaços lotados. Você tem uma boa chance de detectar uma pessoa usando óculos inteligentes assim.
- *Nearby Glasses* mostra um log de depuração opcional que pode ser exportado (como arquivo txt) e possui uma função de copiar e colar. Esses recursos são para usuários avançados (nerds) e para depuração adicional.
- Em *Settings*, você pode especificar o tamanho do log e a depuração (exibir todos os itens de varredura ou apenas quadros ADV).
- Você também pode inserir alguns **company IDs** como string de valores hexadecimais, por exemplo `0x01AB,0x058E,0x0D53`. Isso substitui a detecção integrada, de modo que sua notificação aparece para o(s) novo(s) valor(es).
- Para melhor persistência, ele usa o *Foreground Service* do Android. Você pode desativá-lo em *Settings* se não precisar dele.
- O *Notification Cooldown* em *Settings* especifica quanto tempo deve passar entre dois avisos. O padrão é 10000 ms, ou seja, 10 s. Isso também se aplica ao canário, por exemplo, 10s significa que ele permanecerá em alerta por 10s antes de se acalmar novamente.
- Agora está um pouco mais localizado: <img src="https://raw.githubusercontent.com/yjeanrenaud/yj_nearbyglasses/HEAD/img/canary_hide.svg" align="right" alt="Desenho de um canário que se esconde sob uma asa" height="100" width="100">
- Inglês
- Alemão
- Alemão suíço
- Francês
- Espanhol
- Chinês
- Italiano
- Português (Brasil)
- Russo
- Turco
- mais por vir, eventualmente ([apoie este projeto contribuindo no seu idioma!](https://github.com/yjeanrenaud/yj_nearbyglasses/issues/3))
- Agora o fundo do ícone do app não é mais transparente
- Agora também verificamos UUIDs
- *Nearby Glasses* agora suporta modo escuro (via configurações do sistema)
- O problema de layout edge-to-edge deve estar corrigido a partir da [v1.0.4](https://github.com/yjeanrenaud/yj_nearbyglasses/releases) em diante.
- Recém-licenciado sob AGPL 3.0
- Decidi dispensar o CLA. Após algumas discussões com pessoas que entendiam mais do que eu sobre projetos colaborativos, cheguei à conclusão de que esse era um passo desnecessário.
- agora tem um ícone ligeiramente diferente para aderir mais estritamente à AGPL 3.0.
## iOS e Android
- Finalmente, após três semanas, a versão para iOS está disponível. Deve funcionar na maioria dos iPhones e iPads; até mesmo nos mais antigos (a partir do iOS 16). [O código-fonte e os arquivos do projeto também estão disponíveis](https://github.com/yjeanrenaud/yj_nearbyglasses/blob/main/iOS). O código é feio e pouco ortodoxo. Muitas abordagens são rápidas e improvisadas (por exemplo, eu reutilizo os arquivos json da localização do android), mas está funcionando até agora. O *Nearby Glasses* está disponível através da [Apple App Store](https://apps.apple.com/us/app/nearby-glasses-original/id6761056896). (Chama-se original para se distinguir daqueles imitadores). Um .ipa está disponível para sideloading em [releases](https://github.com/yjeanrenaud/yj_nearbyglasses/releases).
O aplicativo iOS não funciona em segundo plano, porque não encontrei possibilidade de usar algo semelhante a `ForegroundServices` para escanear permanentemente por BTLE ADV devido às restrições do iOS. Portanto, há apenas um *Canary Mode* disponível no *Nearby Glasses* no iOS. Se você conhece Swift e iOS melhor do que eu (o que é provável), por favor contribua!
- Como este repositório contém tanto o código do aplicativo Android quanto do iOS, reorganizei as pastas. Portanto, há [/iOS](https://github.com/yjeanrenaud/yj_nearbyglasses/blob/main/iOS) e [/Android](https://github.com/yjeanrenaud/yj_nearbyglasses/blob/main/Android).
## Uso
- Consulte [Releases](https://github.com/yjeanrenaud/yj_nearbyglasses/releases) para baixar o APK ou use a Google Play Store. F-Droid e/ou Accrescent podem seguir.
<img width="135" height="300" align ="right" alt="Screenshot Nearby Glasses: Settings" src="https://assets.kitploit.com/production/public/readmes/12083/71a0271ff9172cad52e8d83ed9a29ba43b509c7b250be2a0254a5a4371ee3401.png" />
<a href="https://play.google.com/store/apps/details?id=ch.pocketpc.nearbyglasses" target="_blank"><img width="239" height="71" alt="Get It On Google Play" src="https://assets.kitploit.com/production/public/readmes/12083/a7dbeba4623dd255798dd1159e543cdbeeb9e43faa6db7f859b0f9ed3699932c.png" /></a> <a href="https://apps.apple.com/us/app/nearby-glasses-original/id6761056896"><img width="213" height="71" alt="Download on the App Store" src="https://assets.kitploit.com/production/public/readmes/12083/a6fa504b048d52b4e9f5108021dce33af0d96b8b78c34095072971f4a34471fa.png" /></a>
1. Instale o aplicativo (a partir de [Releases](https://github.com/yjeanrenaud/yj_nearbyglasses/releases) ou da [Google Play](https://play.google.com/store/apps/details?id=ch.pocketpc.nearbyglasses), por enquanto) ou da [Apple App Store](https://apps.apple.com/us/app/nearby-glasses-original/id6761056896), e abra-o
2. Toque no botão *Start Scanning*
3. Conceda permissões para ativar o Bluetooth (se ainda não estiver ativado) e para acessar dispositivos próximos. Algumas versões do Android também exigem que você conceda permissões para acessar sua localização (principalmente antes da Versão 13). O *Nearby Glasses* não faz nada com suas informações de localização. Se você não acredita em mim, por favor veja o [código](https://github.com/yjeanrenaud/yj_nearbyglasses/tree/main/app)
4. se você não vir a varredura começar, talvez precise ativar o *Foreground Service* no seu telefone específico no menu *Settings* (veja abaixo)
5. Tudo pronto! Quando óculos inteligentes forem detectados por perto, uma notificação aparecerá. Ela permanece até você tocar em *Stop Scanning* ou encerrar o aplicativo definitivamente
7. No menu (canto superior direito, a engrenagem), você pode fazer alguns ajustes em *Settings*:
1. *Enable Foreground Service*: Com isso, você impede que o Android pause o aplicativo, evitando que ele deixe de alertá-lo. Recomendo deixar isso ativado
2. *RSSI threshold*: Este número negativo especifica a que distância um dispositivo pode estar para ser motivo de um alerta do *Nearby Glasses*. Tecnicamente, refere-se a quão forte o sinal é recebido. Mais próximo de zero significa melhor sinal, portanto menor distância entre seu telefone e os óculos inteligentes. Veja [RSSI acima para explicações e orientações](#how). Recomendo deixá-lo em -75
3. *Enable Notifications*: Você não iria querer desativar isso
4. Canary Mode. Este é o novo padrão. Com isso, você não receberá notificações do sistema alertando sobre óculos inteligentes por perto, mas em vez disso verá um canário que indica que não há óculos inteligentes por perto. O aplicativo iOS só tem o modo canário devido a restrições técnicas. <img src="https://raw.githubusercontent.com/yjeanrenaud/yj_nearbyglasses/HEAD/img/canary.svg" alt="Drawing of a canary" width="100" height="100" alignt="left">
5. *Notification/Canary Cooldown*: Aqui, você especifica quantas notificações sobre óculos inteligentes encontrados por perto você deseja receber ou por quanto tempo o canário deve se esconder. Escolhi 10 segundos (10000 ms) como valor padrão. Assim, você não perderá a notificação e ao mesmo tempo não será incomodado demais por ela nem drenará sua bateria rápido demais
6. *Enable Log Display*: Desativar isso pode poupar um pouco de bateria. Isso fica desativado no modo canário.
7. *Debug*: É necessário para ver mais do que apenas os quadros BLE correspondentes no quadro de exibição de log. É útil para ver se as coisas estão funcionando. Isso fica desativado no modo canário.
8. *Max log lines*: Até quanto o log pode crescer. 200 parece ser um bom equilíbrio entre duração da bateria e usabilidade do log (para nerds como eu). Isso fica desativado no modo canário.
9. *BLE ADV only*: Isso exclui outros quadros Bluetooth LE do log para melhor legibilidade. Isso fica desativado no modo canário.
10. *Override Company IDs*: Se quiser, você pode fazer o *Nearby Glasses* alertá-lo sobre outros dispositivos além dos especificados acima. Útil para depuração, pelo menos para mim. Deixe vazio se não precisar ou não souber o que fazer com isso
11. Cada configuração é salva e efetiva imediatamente. Para voltar, use o botão ou gesto de voltar
8. A função de exportação permite que você compartilhe um arquivo de texto do log do aplicativo. Para nerds como eu
9. Você também pode copiar e colar o log tocando no quadro de exibição de log
## ToDos
- **Agora está funcionando na prática!** Consegui que algumas pessoas o testassem com óculos inteligentes verificados por perto. Agradecimentos especiais à Lena!
- Consulte [Releases](https://github.com/yjeanrenaud/yj_nearbyglasses/releases) para baixar o APK.
- Também publiquei o [*Nearby Glasses* no Google Play](https://play.google.com/store/apps/details?id=ch.pocketpc.nearbyglasses). No entanto, sempre publicarei [releases aqui no GitHub](https://github.com/yjeanrenaud/yj_nearbyglasses/releases) e [em outros lugares](https://yves.app/nearbyglasses/latest.apk), para aqueles que evitam o Google Play.
---
- Adicionar uma opção para colocar falsos positivos em uma lista de ignorados. Talvez na notificação?
- Não sou especialista em BT nem em Android. Pelo que aprendi, também seria possível investigar mais a fundo a comunicação dos óculos inteligentes farejando o tráfego BLE. Ao fazer isso, provavelmente não precisaríamos depender de o dispositivo se comportar de acordo com as especificações de BT, mas também poderíamos usar heurísticas nas transmissões de tráfego criptografado sem muitos falsos positivos. Mas não analiso pacotes de tráfego BT há mais de dez anos. Fico feliz por ter me lembrado dos quadros ADV... Então, se alguém puder ajudar com isso, seria muito bem-vindo!
---
- Adicionar **mais IDs de fabricantes** de óculos inteligentes. No momento, são Meta, Oakley e Snap. Uma lista de óculos inteligentes com câmeras disponíveis também ajudaria. Abri uma [ISSUE para isso](https://github.com/yjeanrenaud/yj_nearbyglasses/issues/56), para que as pessoas possam **ajudar** enviando seus logs (que são perfeitamente seguros, na minha opinião) ao encontrarem outros óculos inteligentes gravando
- a partir de 24 de março de 2026, a versão para iOS também está disponível.
- O **problema de layout** com **dispositivos Google Pixel** parece estar corrigido a partir da Versão 1.0.3. Se você ainda não consegue acessar o menu porque ele está misturado com a barra de status de alguma forma. Vou investigar isso o mais rápido possível. Enquanto isso, tente colocar a tela no modo paisagem e girar *no sentido horário (para a direita)*.
## Solucionismo Tecnológico?
Eu sei que este pode ser um lugar estranho para fazer isso, mas ouça o que tenho a dizer. Estou ciente de que esta é uma solução técnica para um problema social, que por sua vez é amplificado pela tecnologia.
Não quero promover o solucionismo tecnológico nem quero que as pessoas se sintam falsamente seguras. Ainda é uma abordagem imperfeita e provavelmente sempre será. Não é tudo bom só porque este aplicativo existe agora. Precisamos de soluções melhores para conter a tecnologia de vigilância e a intrusão na privacidade.
## Compilar a partir do código-fonte
Como o *Nearby Glasses* é de código aberto, você também pode compilar o aplicativo por conta própria a partir do código-fonte. Isso garante que não há outras bibliotecas incluídas no APK e que você obtém o que deseja.
Observe que este aplicativo é compilado com base em:
- Gradle Wrapper: 9.3.1
- Android Gradle Plugin: 8.13.2
- Kotlin: 1.9.22
- compileSdk: 36
- targetSdk: 36
- minSdk: 26
- Sem product flavors
- Repositórios: apenas google() e mavenCentral()
- Sem plugins do Google Services ou Firebase
### Requisitos
- **JDK 17** (obrigatório — o projeto tem como alvo Java 17)
- **Android SDK Platform 35** instalado
- compileSdk = 35
- targetSdk = 35
- Git
### Compilando o APK passo a passo
```bash
#Verify Java version:
$java -version
#It must report Java 17.
#Get the source code
$git clone https://github.com/yjeanrenaud/yj_nearbyglasses
$cd yj_nearbyglasses
#Build Debug
$./gradlew clean assembleDebug
#Build Release (with your own signature cert)
$./gradlew clean assembleRelease
#Build unsigned Release for IzzyOnDroid / F-Droid
$./gradlew clean izziFdroid
#Run and Test
$./gradlew test lint
```
## Agradecimentos
- [@[email protected]](https://social.tchncs.de/@vfrmedia) por me ajudar com os avisos
- [@[email protected]](https://meow.social/@mewsleah) por apontar a ideia de um modo canário
- [@pojntfx](https://github.com/pojntfx) por apontar meus mal-entendidos sobre licenciamento
- [Sarah-Jane B.](https://www.linkedin.com/in/sarah-janeb/) pelas dicas de design de UX
- Lena Radau pela tradução para o espanhol
- Marcel L. pelo feedback e pelos testes do app para iOS
- Lena Hansen pelos testes de campo
- Todos os outros que já forneceram feedback para o app!
## Licença e Créditos
**Ícone do App**: O ícone é baseado em <a href="https://www.svgrepo.com/svg/434090/glasses" title="Glasses SVG Vector">Glasses SVG Vector by sensa, licensed under CC0 1.0 Universal</a>.<br/><br/><br/>
**Licença**: Este app *Nearby Glasses* está licenciado sob a [licença AGPL-3.0](https://github.com/yjeanrenaud/yj_nearbyglasses/blob/main/LICENSE).<br/>
**Canário**: Os desenhos do canário são feitos por mim e licenciados sob [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). Eu os forneci como arquivos svg brutos (feitos no [InkScape](https://inkscape.org/)) e convertidos para xml, obviamente, para os recursos do app<br/>