This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

1{ 2 stdenvNoCC, 3 androidenv, 4 fetchurl, 5 jdk17_headless, 6 unzip, 7 zip, 8 icon, 9}: 10let 11 sdk = androidenv.composeAndroidPackages { 12 platformVersions = [ "36" ]; 13 buildToolsVersions = [ "36.0.0" ]; 14 includeEmulator = false; 15 includeSystemImages = false; 16 includeNDK = false; 17 }; 18 sdkRoot = "${sdk.androidsdk}/libexec/android-sdk"; 19 buildTools = "${sdkRoot}/build-tools/36.0.0"; 20 androidJar = "${sdkRoot}/platforms/android-36/android.jar"; 21 browser = fetchurl { 22 url = "https://dl.google.com/android/maven2/androidx/browser/browser/1.10.0/browser-1.10.0.aar"; 23 hash = "sha256-+0DR7l/ZEMnREiAIaKlTQVanqZmrwo+7PGgVouOsUVA="; 24 }; 25in 26# Unsigned release APK; tools/hermes-voice/flake-module.nix has the signer. 27# Only androidx.browser's classes go in: the parts used here need none of its 28# dependencies. 29stdenvNoCC.mkDerivation { 30 pname = "hermes-voice-android"; 31 version = "1"; 32 src = ./.; 33 nativeBuildInputs = [ 34 jdk17_headless 35 unzip 36 zip 37 ]; 38 buildPhase = '' 39 runHook preBuild 40 unzip -q ${browser} classes.jar -d browser 41 42 mkdir -p res/mipmap-xxxhdpi 43 cp ${icon}/icon-192.png res/mipmap-xxxhdpi/ic_launcher.png 44 ${buildTools}/aapt2 compile --dir res -o res.zip 45 ${buildTools}/aapt2 link -o unsigned.apk -I ${androidJar} \ 46 --manifest AndroidManifest.xml res.zip \ 47 --min-sdk-version 29 --target-sdk-version 36 \ 48 --version-code 1 --version-name 1 49 50 javac -source 8 -target 8 -Xlint:-options -encoding UTF-8 \ 51 -bootclasspath ${androidJar} -cp browser/classes.jar \ 52 -d classes $(find src -name '*.java') 53 ${buildTools}/d8 --release --min-api 29 --lib ${androidJar} --output . \ 54 $(find classes -name '*.class') browser/classes.jar 55 56 touch -d @315532800 classes.dex 57 TZ=UTC zip -X -D unsigned.apk classes.dex 58 runHook postBuild 59 ''; 60 installPhase = '' 61 install -Dm444 unsigned.apk $out/hermes-voice-android-unsigned.apk 62 ''; 63 passthru = { inherit buildTools; }; 64}