📦 Instalacja

KNET jest dostępny przez GitHub Packages. Poniżej znajdziesz instrukcje konfiguracji dla różnych systemów buildowania.

Gradle (Kotlin DSL)

1. Dodaj repozytorium w settings.gradle.kts

dependencyResolutionManagement {
    repositories {
        google()
        mavenCentral()

        maven {
            url = uri("https://maven.pkg.github.com/nerdrip/kitsune-net")
            credentials {
                username = project.findProperty("gpr.user") as String?
                    ?: System.getenv("GITHUB_USERNAME")
                password = project.findProperty("gpr.token") as String?
                    ?: System.getenv("GITHUB_TOKEN")
            }
        }
    }
}

2. Dodaj zależność w build.gradle.kts (app)

dependencies {
    implementation("rip.nerd.kitsunenet:kitsunenet:1.0.0")
}

3. Skonfiguruj credentials

W pliku ~/.gradle/gradle.properties:

gpr.user=TwojaGitHubNazwaUżytkownika
gpr.token=ghp_xxxxxxxxxxxxxxxxxxxx
📝 Jak wygenerować token?
  1. Przejdź do GitHub → Settings → Developer settings → Personal access tokens
  2. Kliknij "Generate new token (classic)"
  3. Zaznacz scope: read:packages
  4. Skopiuj wygenerowany token

Gradle (Groovy)

1. settings.gradle

dependencyResolutionManagement {
    repositories {
        google()
        mavenCentral()

        maven {
            url = uri("https://maven.pkg.github.com/nerdrip/kitsune-net")
            credentials {
                username = project.findProperty("gpr.user") ?: System.getenv("GITHUB_USERNAME")
                password = project.findProperty("gpr.token") ?: System.getenv("GITHUB_TOKEN")
            }
        }
    }
}

2. build.gradle (app)

dependencies {
    implementation 'rip.nerd.kitsunenet:kitsunenet:1.0.0'
}

📋 Wymagania

Wymaganie Minimalna wersja
Android API 26 (Android 8.0 Oreo)
Kotlin 1.9.0
Gradle 8.0
Java 17

🔐 Uprawnienia Android

Dodaj uprawnienia w AndroidManifest.xml:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
💡 Dodatkowe uprawnienia (opcjonalne)
<!-- Dla WebSocket w tle -->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />

<!-- Dla Network Security Config -->
<application
    android:networkSecurityConfig="@xml/network_security_config"
    ... >

📚 Zależności

KNET automatycznie dołącza następujące zależności:

Biblioteka Wersja Opis
OkHttp 4.12.0 HTTP client
Kotlin Coroutines 1.7.3 Asynchroniczność
org.json Android built-in JSON parsing

✅ Weryfikacja instalacji

// W MainActivity lub dowolnej Activity
lifecycleScope.launch {
    try {
        val response = KNETClient().get("https://httpbin.org/get")
        Log.d("KNET", "Status: ${response.statusCode}")
        Log.d("KNET", "KNET działa poprawnie! ✅")
    } catch (e: Exception) {
        Log.e("KNET", "Błąd: ${e.message}")
    }
}

🚀 Następne kroki