From 97a9a3055dbb585319497249214de2a5649c27b5 Mon Sep 17 00:00:00 2001 From: Denis Andrasec Date: Tue, 27 Aug 2024 14:46:03 +0200 Subject: [PATCH] migrate to support 15kb pages --- alignment.sh | 20 +++++++++++++++++++ flutter/example/android/app/CMakeLists.txt | 2 ++ flutter/example/android/app/build.gradle | 3 +++ .../android/app/src/main/AndroidManifest.xml | 3 +-- flutter/example/android/build.gradle | 13 +++++++++++- flutter/example/android/gradle.properties | 4 ++++ .../gradle/wrapper/gradle-wrapper.properties | 2 +- flutter/example/ios/Runner/AppDelegate.swift | 2 +- 8 files changed, 44 insertions(+), 5 deletions(-) create mode 100755 alignment.sh diff --git a/alignment.sh b/alignment.sh new file mode 100755 index 0000000000..a23d15ee60 --- /dev/null +++ b/alignment.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +# usage: alignment.sh path to search for *.so files + +dir="$1" + +RED="\e[31m" +GREEN="\e[32m" +ENDCOLOR="\e[0m" + +matches="$(find $dir -name "*.so" -type f)" +IFS=$'\n' +for match in $matches; do + res="$(objdump -p ${match} | grep LOAD | awk '{ print $NF }' | head -1)" + if [[ $res =~ "2**14" ]] || [[ $res =~ "2**16" ]]; then + echo -e "${match}: ${GREEN}ALIGNED${ENDCOLOR} ($res)" + else + echo -e "${match}: ${RED}UNALIGNED${ENDCOLOR} ($res)" + fi +done diff --git a/flutter/example/android/app/CMakeLists.txt b/flutter/example/android/app/CMakeLists.txt index 26629a4757..9ae18c9f6b 100644 --- a/flutter/example/android/app/CMakeLists.txt +++ b/flutter/example/android/app/CMakeLists.txt @@ -12,3 +12,5 @@ target_link_libraries( ${LOG_LIB} ${ANDROID_GRADLE_NATIVE_MODULES} ) + +target_link_options(${CMAKE_PROJECT_NAME} PRIVATE "-Wl,-z,max-page-size=16384") diff --git a/flutter/example/android/app/build.gradle b/flutter/example/android/app/build.gradle index e9ac4161a5..17ae883838 100644 --- a/flutter/example/android/app/build.gradle +++ b/flutter/example/android/app/build.gradle @@ -48,6 +48,8 @@ android { defaultConfig { applicationId "io.sentry.samples.flutter" + namespace("io.sentry.samples.flutter") + minSdkVersion flutter.minSdkVersion targetSdkVersion 34 versionCode flutterVersionCode.toInteger() @@ -89,6 +91,7 @@ android { // https://github.com/flutter/flutter/issues/58247 checkReleaseBuilds false } + namespace 'io.sentry.samples.flutter' } flutter { diff --git a/flutter/example/android/app/src/main/AndroidManifest.xml b/flutter/example/android/app/src/main/AndroidManifest.xml index c2029920e9..3305a65e94 100644 --- a/flutter/example/android/app/src/main/AndroidManifest.xml +++ b/flutter/example/android/app/src/main/AndroidManifest.xml @@ -1,5 +1,4 @@ - + + if (project.hasProperty('android')) { + project.android { + if (namespace == null) { + namespace project.group + } + } + } + } + } } rootProject.buildDir = '../build' diff --git a/flutter/example/android/gradle.properties b/flutter/example/android/gradle.properties index 46ec45ad33..0fd087aaf4 100644 --- a/flutter/example/android/gradle.properties +++ b/flutter/example/android/gradle.properties @@ -1,3 +1,7 @@ org.gradle.jvmargs=-Xmx1536M android.useAndroidX=true android.enableR8=true +android.enableR8.fullMode=false +android.defaults.buildfeatures.buildconfig=true +android.nonTransitiveRClass=false +android.nonFinalResIds=false diff --git a/flutter/example/android/gradle/wrapper/gradle-wrapper.properties b/flutter/example/android/gradle/wrapper/gradle-wrapper.properties index ae04661ee7..e411586a54 100644 --- a/flutter/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/flutter/example/android/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/flutter/example/ios/Runner/AppDelegate.swift b/flutter/example/ios/Runner/AppDelegate.swift index a231cc9c60..c24cacbbb2 100644 --- a/flutter/example/ios/Runner/AppDelegate.swift +++ b/flutter/example/ios/Runner/AppDelegate.swift @@ -2,7 +2,7 @@ import UIKit import Flutter import Sentry -@UIApplicationMain +@main @objc class AppDelegate: FlutterAppDelegate { private let _channel = "example.flutter.sentry.io"