generate manifests with different names and packages

This commit is contained in:
Jean-Marie 'Histausse' Mineau 2025-10-31 00:04:18 +01:00
parent 1d6ff63406
commit ecd481f5ee
Signed by: histausse
GPG key ID: B66AEEDA9B645AD2
2 changed files with 18 additions and 5 deletions

View file

@ -47,6 +47,16 @@
mv build/classes.dex $out
'';
};
make-manifest = package : name: pkgs.stdenvNoCC.mkDerivation {
name = "AndroidManifest-${package}.xml";
srcs = self;
#buildInputs = [ ];
phases = ["unpackPhase" "buildPhase"];
buildPhase = ''
mkdir $out
cat AndroidManifest.xml | sed 's/PACKAGE/${package}/' | sed 's/NAME/${name}/' > $out/AndroidManifest.xml
'';
};
java-classes-main = pkgs.stdenvNoCC.mkDerivation {
name = "java-class-main";
@ -82,7 +92,9 @@
in rec {
packages = {
default = pkgs.stdenvNoCC.mkDerivation rec {
default = let
manifest = make-manifest "com.example.shadowing.control" "Shadowing C";
in pkgs.stdenvNoCC.mkDerivation rec {
name = "com-example-shadowing.apk";
srcs = self;
buildInputs = [ jdk android-env.androidsdk pkgs.which ];
@ -94,7 +106,8 @@
# link classes.dex not working?
# ${build-tools}/aapt2 link -v ---manifest AndroidManifest.xml -I ${platforms}/android.jar -o build/app.apk build/apk_files/
${build-tools}/aapt package -v -f -M AndroidManifest.xml -I ${platforms}/android.jar -F build/app.apk build/apk_files/
${build-tools}/aapt package -v -f -M ${manifest}/AndroidManifest.xml -I ${platforms}/android.jar -F build/app.apk build/apk_files/
${build-tools}/zipalign -f 4 build/app.apk build/app.aligned.apk
keytool -genkeypair -validity 1000 -dname "CN=SomeKey,O=SomeOne,C=FR" -keystore build/ToyKey.keystore -storepass 'P@ssw0rd!' -keypass 'P@ssw0rd!' -alias SignKey -keyalg RSA -v