private lateinit var api: ApiClient
// 2️⃣ Build request body val payload = JSONObject().apply put("key", key) put("machineId", machineId) .toString()
package com.apeaksoft.toolkit.license
// Pass the license file path as a JVM argument args = listOf(file("../apeaksoft_license.properties").absolutePath)
// 5️⃣ Optional: verify signature (HMAC) for tamper‑proofing // The server also sends a `signature` field which is HMAC‑SHA256 // of the payload using a secret known only to the server. val signature = json.getString("signature") if (!verifySignature(payload, signature)) throw LicenseException("License response signature mismatch.") apeaksoft android toolkit registration code
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState)
# APEAKSOFT Toolkit License license.key=AB12CD34EF56GH78IJ90KL12MN34OP56 # Optional – bind to this machine ID (generated by the tool) machine.id=5f4dcc3b5aa765d61d8327deb882cf99 Add it to .gitignore : private lateinit var api: ApiClient // 2️⃣ Build
// Pro modules – will be ignored if license is missing implementation "com.apeaksoft:android-toolkit-pro:1.4.2"