Este projeto implementa uma solução para simular o processo de autenticação via leitura de código QR no jogo Honkai Impact 3, viabilizando o acesso em ambientes desktop para versões de canais de distribuição.
Orgenização dos Arquivos do Projeto
A estrutura de diretórios segue o padrão de aplicativos Android modulares:
projeto_login_qr/
├── modulo_aplicativo
│ ├── build.gradle.kts
│ └── codigo_fonte
│ └── principal
│ ├── Manifesto.xml
│ ├── java
│ └── recursos
├── modulo_construcao
│ ├── build.gradle.kts
│ └── codigo_fonte
│ └── principal
│ └── kotlin
├── ferramentas_gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── propriedades-wrapper
├── modulo_sdk_xiaomi
│ ├── build.gradle.kts
│ └── codigo_fonte
│ └── principal
│ └── java
├── .gitignore
├── EULA.md
├── LICENCA
├── README.md
├── build.gradle.kts
├── gradle.properties
├── gradlew
├── gradlew.bat
└── settings.gradle.kts
Descrição dos componentes principais:
- modulo_aplicativo/: Módulo central com a lógica de negócios e interface do aplicativo.
- modulo_construcao/: Gerencia scripts de build e tarefas personalizadas.
- ferramentas_gradle/: Contém o Gradle Wrapper para garantir consistência na versão do build tool.
- modulo_sdk_xiaomi/: Integra bibliotecas e código específico para plataformas da Xiaomi.
- Arquivos de configuração global e documentação, como
LICENCAeREADME.md.
Ponto de Entrada do Aplicativo
O arquivo de manifesto Manifesto.xml, localizado em modulo_aplicativo/codigo_fonte/principal/, configura os componentes essenciais da aplicação.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.projeto.qrlogin_bh3">
<application
android:allowBackup="true"
android:icon="@mipmap/icone_app"
android:label="@string/nome_aplicativo"
android:roundIcon="@mipmap/icone_circular"
android:supportsRtl="true"
android:theme="@style/TemaPrincipal">
<activity android:name=".TelaInicial"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Este manifesto declara a TelaInicial como atividade launcher, define permissões necessárias e configura metadaods como ícones e tema.
Configurações de Build
As definições de construção e dependências são controladas pelos arquivos build.gradle.kts e gradle.properties.
Configuração Raiz do Gradle
O script build.gradle.kts no diretório raiz estabelece repositórios e plugins globais.
buildscript {
repositories {
google()
mavenCentral()
maven { url = uri("https://jitpack.io") }
maven { url = uri("https://developer.huawei.com/repo/") }
}
dependencies {
classpath(kotlin("gradle-plugin", version = "1.7.20"))
classpath("com.android.tools.build:gradle:7.4.2")
classpath("com.huawei.agconnect:agcp:1.7.3.300")
// As dependências específicas do módulo devem ser declaradas
// nos respectivos build.gradle.kts de cada componente
}
}
plugins {
id("com.android.application") apply false
id("com.android.library") apply false
kotlin("android") apply false
}
tasks.register("clean", Delete::class) {
delete(
// Especifica diretórios para limpeza durante o build
)
}
O arquivo gradle.properties permite ajustar propriedades de build, como flags de compilação e variáveis de ambiente, conforme requisitos do desenvolvimento.