Upgrade AGP to `7.1.0-beta01` & NDK to `24.0.7856742`

We've moved to using a beta AGP as `7.0.2` is breaks `clangd` and other C++ features on Beta/Canary Android Studio. NDK was additionally updated with `mbedtls` to fix warnings caused by it alongside some other minor fixes to code for newer versions of libcxx.

The new AGP has a bug where it does not look for executables specified in `android_gradle_build.json` in `PATH` that includes `ninja` which is provided by the `ninja-build` package on the system rather than Android SDK's CMake on GitHub Actions (Ubuntu 20.04). This has been fixed by symlinking `/usr/bin/ninja` to the project root which is searched in for the `ninja` executable.
This commit is contained in:
PixelyIon 2021-10-31 03:33:27 +05:30
parent 962d8dc4c8
commit 82154f3ef6
9 changed files with 15 additions and 10 deletions

View File

@ -30,14 +30,18 @@ jobs:
restore-keys: |
${{ runner.os }}-cxx-
- name: Setup Environment for Gradle & Ninja Build & CMake
- name: Install Ninja Build
run: |
chmod +x gradlew
sudo apt-get install -y ninja-build
echo "yes" | $ANDROID_HOME/tools/bin/sdkmanager "cmake;3.18.1" --channel=3
ln -s /usr/bin/ninja .
- name: Install CMake & Android NDK
run: echo "yes" | $ANDROID_HOME/tools/bin/sdkmanager "cmake;3.18.1" "ndk;24.0.7856742" --channel=3 | grep -v = || true
- name: Android Lint
run: ./gradlew --stacktrace lint
run: |
chmod +x gradlew
./gradlew --stacktrace lint
- name: Upload Lint Report
uses: actions/upload-artifact@v2

View File

@ -54,6 +54,7 @@ set(ENABLE_PROGRAMS OFF CACHE BOOL "Build mbed TLS programs." FORCE)
set(UNSAFE_BUILD ON CACHE BOOL "Allow unsafe builds. These builds ARE NOT SECURE." FORCE)
add_subdirectory("libraries/mbedtls")
include_directories(SYSTEM "libraries/mbedtls/include")
target_compile_options(mbedcrypto PRIVATE -Wno-everything)
# Opus
include_directories(SYSTEM "libraries/opus/include")

View File

@ -63,7 +63,7 @@ android {
}
/* NDK */
ndkVersion '23.1.7779620'
ndkVersion '24.0.7856742'
externalNativeBuild {
cmake {
version '3.18.1+'

@ -1 +1 @@
Subproject commit 8df2f8e7b9c7bb9390ac74bb7bace27edca81a2b
Subproject commit d895668359eb8ba7536a04f5e2be1e5268c86b33

View File

@ -3,6 +3,7 @@
#pragma once
#include <bit>
#include <map>
#include <unordered_map>
#include <list>

View File

@ -76,7 +76,7 @@ namespace skyline::service::am {
// On HOS the seed from control.ncap is hashed together with the device specific device ID seed
// for us it's enough to just hash the seed from control.nacp as it provides the same guarantees
if (int err{mbedtls_sha1(seedForPseudoDeviceId.data(), seedForPseudoDeviceId.size(), hashBuf.data())}; err < 0)
if (int err{mbedtls_sha1_ret(seedForPseudoDeviceId.data(), seedForPseudoDeviceId.size(), hashBuf.data())}; err < 0)
throw exception("Failed to hash device ID, err: {}", err);
response.Push<UUID>(UUID::GenerateUuidV5(hashBuf));

View File

@ -1,7 +1,6 @@
// SPDX-License-Identifier: MPL-2.0
// Copyright © 2020 Skyline Team and Contributors (https://github.com/skyline-emu/)
#include <bit>
#include "nacp.h"
namespace skyline::vfs {

View File

@ -12,7 +12,7 @@ namespace skyline::vfs {
constexpr i8 DefaultCore{0}; // The default core for an HOS process
constexpr u64 DefaultStackSize{0x200000}; //!< The default amount of stack: 2 MiB
constexpr u64 DefaultSystemResourceSize{0x1FE00000}; //!< The amount of memory reserved for system resources, it's the maximum at 510 MiB
meta = {
meta = NpdmMeta{
.magic = MetaMagic,
.flags = {
{

View File

@ -13,7 +13,7 @@ buildscript {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.0.2'
classpath 'com.android.tools.build:gradle:7.1.0-beta01'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "com.google.dagger:hilt-android-gradle-plugin:$hilt_version"