0xSoul24 / manifest

Repo manifest for syncing source

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Evolution X

Initialize local repository

repo init -u https://github.com/Evolution-XYZ/manifest -b udc --git-lfs

Sync up

repo sync -c -j$(nproc --all) --force-sync --no-clone-bundle --no-tags

Setting up certificates and keys for signed builds (Needed for Play Integrity to pass)

  • Alter the subject line to reflect your information
subject='/C=US/ST=California/L=Mountain View/O=Android/OU=Android/CN=Android/emailAddress=android@android.com'

C: Country shortform
ST: Country longform
L: Location (I used federal state)
O, OU, CN: Your Name
emailAddress: Your email
For example:

subject='/C=EC/ST=Guayas/L=Guayaquil/O=0xSoul/OU=0xSoul/CN=0xSoul/emailAddress=m31786518+0xSoul24@users.noreply.github.com'
  • Create the folder ".android-certs" in your $HOME directory
mkdir ~/.android-certs
  • Generate the keys
for cert in bluetooth cyngn-app media networkstack platform releasekey sdk_sandbox shared testcert testkey verity; do \
    ./development/tools/make_key ~/.android-certs/$cert "$subject"; \
done
  • Copy make_key file to ~/.android-certs
cp ./development/tools/make_key ~/.android-certs/
  • Edit make_key to use SHA256_RSA4096
sed -i 's|2048|4096|g' ~/.android-certs/make_key

Note:

  • DO NOT set a password for the keys. If you do, you won't be able to use them for building!
  • Generate Apex keys without password (Remember to change the subject to reflect your information)
for apex in com.android.adbd com.android.adservices com.android.adservices.api com.android.appsearch com.android.art com.android.bluetooth com.android.btservices com.android.cellbroadcast com.android.compos com.android.configinfrastructure com.android.connectivity.resources com.android.conscrypt com.android.devicelock com.android.extservices com.android.graphics.pdf com.android.hardware.biometrics.face.virtual com.android.hardware.biometrics.fingerprint.virtual com.android.hardware.boot com.android.hardware.cas com.android.hardware.wifi com.android.healthfitness com.android.hotspot2.osulogin com.android.i18n com.android.ipsec com.android.media com.android.media.swcodec com.android.mediaprovider com.android.nearby.halfsheet com.android.networkstack.tethering com.android.neuralnetworks com.android.ondevicepersonalization com.android.os.statsd com.android.permission com.android.resolv com.android.rkpd com.android.runtime com.android.safetycenter.resources com.android.scheduling com.android.sdkext com.android.support.apexer com.android.telephony com.android.telephonymodules com.android.tethering com.android.tzdata com.android.uwb com.android.uwb.resources com.android.virt com.android.vndk.current com.android.vndk.current.on_vendor com.android.wifi com.android.wifi.dialog com.android.wifi.resources com.google.pixel.camera.hal com.google.pixel.vibrator.hal com.qorvo.uwb; do \
    subject='/C=US/ST=California/L=Mountain View/O=Android/OU=Android/CN='$apex'/emailAddress=android@android.com'; \
    ~/.android-certs/make_key ~/.android-certs/$apex "$subject"; \
    openssl pkcs8 -in ~/.android-certs/$apex.pk8 -inform DER -nocrypt -out ~/.android-certs/$apex.pem; \
done
  • Move your certs and keys to the vendor repo
mv ~/.android-certs/*.pem vendor/evolution-priv/keys
mv ~/.android-certs/*.pk8 vendor/evolution-priv/keys
  • Open and modify the BUILD file located in the root of the project to match the following contents
filegroup(
    name = "android_certificate_directory",
    srcs = glob([
        "*.pk8",
        "*.pem",
    ]),
    visibility = ["//visibility:public"],
)

Build

  • Set up the build environment
. build/envsetup.sh
  • Lunch a target
lunch lineage_codename-user
  • To start compiling
m evolution

About

Repo manifest for syncing source