From bdc7bbffc1377226fb72dd03aff5dda92b0cac00 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Sun, 29 Sep 2024 14:11:47 +0530 Subject: Add release config + build apk setup --- android/app/build.gradle | 26 +++++++++++-- .../java/com/owynlauncherrewrite/MainActivity.kt | 22 ----------- .../com/owynlauncherrewrite/MainApplication.kt | 43 ---------------------- .../dev/ediblemonad/owynlauncher/MainActivity.kt | 22 +++++++++++ .../ediblemonad/owynlauncher/MainApplication.kt | 43 ++++++++++++++++++++++ android/app/src/main/res/values/strings.xml | 2 +- android/build.gradle | 2 +- 7 files changed, 90 insertions(+), 70 deletions(-) delete mode 100644 android/app/src/main/java/com/owynlauncherrewrite/MainActivity.kt delete mode 100644 android/app/src/main/java/com/owynlauncherrewrite/MainApplication.kt create mode 100644 android/app/src/main/java/dev/ediblemonad/owynlauncher/MainActivity.kt create mode 100644 android/app/src/main/java/dev/ediblemonad/owynlauncher/MainApplication.kt (limited to 'android') diff --git a/android/app/build.gradle b/android/app/build.gradle index 57743c6..7ade26d 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -71,14 +71,18 @@ def enableProguardInReleaseBuilds = true */ def jscFlavor = 'org.webkit:android-jsc:+' +// Local properties +def Properties localProperties = new Properties() +localProperties.load(project.rootProject.file("local.properties").newDataInputStream()) + android { ndkVersion rootProject.ext.ndkVersion buildToolsVersion rootProject.ext.buildToolsVersion compileSdk rootProject.ext.compileSdkVersion - namespace "com.owynlauncherrewrite" + namespace "dev.ediblemonad.owynlauncher" defaultConfig { - applicationId "com.owynlauncherrewrite" + applicationId "dev.ediblemonad.owynlauncher" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 @@ -91,7 +95,14 @@ android { keyAlias 'androiddebugkey' keyPassword 'android' } + release { + storeFile file("release.keystore") + storePassword localProperties.getProperty('OWYN_STORE_PASS') + keyAlias 'releasekey' + keyPassword localProperties.getProperty('OWYN_KEY_PASS') + } } + buildTypes { debug { signingConfig signingConfigs.debug @@ -99,11 +110,20 @@ android { release { // Caution! In production, you need to generate your own keystore file. // see https://reactnative.dev/docs/signed-apk-android. - signingConfig signingConfigs.debug + signingConfig signingConfigs.release minifyEnabled enableProguardInReleaseBuilds proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" } } + + splits { + abi { + reset() + enable true + universalApk true + include "armeabi-v7a", "arm64-v8a", "x86", "x86_64" + } + } } dependencies { diff --git a/android/app/src/main/java/com/owynlauncherrewrite/MainActivity.kt b/android/app/src/main/java/com/owynlauncherrewrite/MainActivity.kt deleted file mode 100644 index c784bb9..0000000 --- a/android/app/src/main/java/com/owynlauncherrewrite/MainActivity.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.owynlauncherrewrite - -import com.facebook.react.ReactActivity -import com.facebook.react.ReactActivityDelegate -import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.fabricEnabled -import com.facebook.react.defaults.DefaultReactActivityDelegate - -class MainActivity : ReactActivity() { - - /** - * Returns the name of the main component registered from JavaScript. This is used to schedule - * rendering of the component. - */ - override fun getMainComponentName(): String = "OwynLauncherRewrite" - - /** - * Returns the instance of the [ReactActivityDelegate]. We use [DefaultReactActivityDelegate] - * which allows you to enable New Architecture with a single boolean flags [fabricEnabled] - */ - override fun createReactActivityDelegate(): ReactActivityDelegate = - DefaultReactActivityDelegate(this, mainComponentName, fabricEnabled) -} diff --git a/android/app/src/main/java/com/owynlauncherrewrite/MainApplication.kt b/android/app/src/main/java/com/owynlauncherrewrite/MainApplication.kt deleted file mode 100644 index 4583c39..0000000 --- a/android/app/src/main/java/com/owynlauncherrewrite/MainApplication.kt +++ /dev/null @@ -1,43 +0,0 @@ -package com.owynlauncherrewrite - -import android.app.Application -import com.facebook.react.PackageList -import com.facebook.react.ReactApplication -import com.facebook.react.ReactHost -import com.facebook.react.ReactNativeHost -import com.facebook.react.ReactPackage -import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load -import com.facebook.react.defaults.DefaultReactHost.getDefaultReactHost -import com.facebook.react.defaults.DefaultReactNativeHost -import com.facebook.soloader.SoLoader - -class MainApplication : Application(), ReactApplication { - - override val reactNativeHost: ReactNativeHost = - object : DefaultReactNativeHost(this) { - override fun getPackages(): List = - PackageList(this).packages.apply { - // Packages that cannot be autolinked yet can be added manually here, for example: - // add(MyReactNativePackage()) - } - - override fun getJSMainModuleName(): String = "index" - - override fun getUseDeveloperSupport(): Boolean = BuildConfig.DEBUG - - override val isNewArchEnabled: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED - override val isHermesEnabled: Boolean = BuildConfig.IS_HERMES_ENABLED - } - - override val reactHost: ReactHost - get() = getDefaultReactHost(applicationContext, reactNativeHost) - - override fun onCreate() { - super.onCreate() - SoLoader.init(this, false) - if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { - // If you opted-in for the New Architecture, we load the native entry point for this app. - load() - } - } -} diff --git a/android/app/src/main/java/dev/ediblemonad/owynlauncher/MainActivity.kt b/android/app/src/main/java/dev/ediblemonad/owynlauncher/MainActivity.kt new file mode 100644 index 0000000..c72d8ee --- /dev/null +++ b/android/app/src/main/java/dev/ediblemonad/owynlauncher/MainActivity.kt @@ -0,0 +1,22 @@ +package dev.ediblemonad.owynlauncher + +import com.facebook.react.ReactActivity +import com.facebook.react.ReactActivityDelegate +import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.fabricEnabled +import com.facebook.react.defaults.DefaultReactActivityDelegate + +class MainActivity : ReactActivity() { + + /** + * Returns the name of the main component registered from JavaScript. This is used to schedule + * rendering of the component. + */ + override fun getMainComponentName(): String = "OwynLauncherRewrite" + + /** + * Returns the instance of the [ReactActivityDelegate]. We use [DefaultReactActivityDelegate] + * which allows you to enable New Architecture with a single boolean flags [fabricEnabled] + */ + override fun createReactActivityDelegate(): ReactActivityDelegate = + DefaultReactActivityDelegate(this, mainComponentName, fabricEnabled) +} diff --git a/android/app/src/main/java/dev/ediblemonad/owynlauncher/MainApplication.kt b/android/app/src/main/java/dev/ediblemonad/owynlauncher/MainApplication.kt new file mode 100644 index 0000000..34763cb --- /dev/null +++ b/android/app/src/main/java/dev/ediblemonad/owynlauncher/MainApplication.kt @@ -0,0 +1,43 @@ +package dev.ediblemonad.owynlauncher + +import android.app.Application +import com.facebook.react.PackageList +import com.facebook.react.ReactApplication +import com.facebook.react.ReactHost +import com.facebook.react.ReactNativeHost +import com.facebook.react.ReactPackage +import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load +import com.facebook.react.defaults.DefaultReactHost.getDefaultReactHost +import com.facebook.react.defaults.DefaultReactNativeHost +import com.facebook.soloader.SoLoader + +class MainApplication : Application(), ReactApplication { + + override val reactNativeHost: ReactNativeHost = + object : DefaultReactNativeHost(this) { + override fun getPackages(): List = + PackageList(this).packages.apply { + // Packages that cannot be autolinked yet can be added manually here, for example: + // add(MyReactNativePackage()) + } + + override fun getJSMainModuleName(): String = "index" + + override fun getUseDeveloperSupport(): Boolean = BuildConfig.DEBUG + + override val isNewArchEnabled: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED + override val isHermesEnabled: Boolean = BuildConfig.IS_HERMES_ENABLED + } + + override val reactHost: ReactHost + get() = getDefaultReactHost(applicationContext, reactNativeHost) + + override fun onCreate() { + super.onCreate() + SoLoader.init(this, false) + if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { + // If you opted-in for the New Architecture, we load the native entry point for this app. + load() + } + } +} diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml index bd75c71..4890b05 100644 --- a/android/app/src/main/res/values/strings.xml +++ b/android/app/src/main/res/values/strings.xml @@ -1,3 +1,3 @@ - OwynLauncherRewrite + Owyn Launcher diff --git a/android/build.gradle b/android/build.gradle index f536a79..ece1ef8 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,7 +1,7 @@ buildscript { ext { buildToolsVersion = "34.0.0" - minSdkVersion = 23 + minSdkVersion = 29 compileSdkVersion = 34 targetSdkVersion = 34 ndkVersion = "26.1.10909125" -- cgit v1.3.1