Initial commit
|
@ -0,0 +1,4 @@
|
||||||
|
{
|
||||||
|
"java.compile.nullAnalysis.mode": "automatic",
|
||||||
|
"java.configuration.updateBuildConfiguration": "interactive"
|
||||||
|
}
|
17
README.md
|
@ -1,16 +1 @@
|
||||||
# permainan_kata_anak_sd
|
# Permainan Kata Anak SD
|
||||||
|
|
||||||
A new Flutter project.
|
|
||||||
|
|
||||||
## Getting Started
|
|
||||||
|
|
||||||
This project is a starting point for a Flutter application.
|
|
||||||
|
|
||||||
A few resources to get you started if this is your first Flutter project:
|
|
||||||
|
|
||||||
- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab)
|
|
||||||
- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook)
|
|
||||||
|
|
||||||
For help getting started with Flutter development, view the
|
|
||||||
[online documentation](https://docs.flutter.dev/), which offers tutorials,
|
|
||||||
samples, guidance on mobile development, and a full API reference.
|
|
||||||
|
|
|
@ -1,11 +1,15 @@
|
||||||
|
import java.util.Properties
|
||||||
|
import java.io.FileInputStream
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id "com.android.application"
|
id "com.android.application"
|
||||||
id "kotlin-android"
|
id "kotlin-android"
|
||||||
id "dev.flutter.flutter-gradle-plugin"
|
id "dev.flutter.flutter-gradle-plugin"
|
||||||
|
id 'com.google.gms.google-services'
|
||||||
}
|
}
|
||||||
|
|
||||||
def localProperties = new Properties()
|
def localProperties = new Properties()
|
||||||
def localPropertiesFile = rootProject.file('local.properties')
|
def localPropertiesFile = rootProject.file('key.properties')
|
||||||
if (localPropertiesFile.exists()) {
|
if (localPropertiesFile.exists()) {
|
||||||
localPropertiesFile.withReader('UTF-8') { reader ->
|
localPropertiesFile.withReader('UTF-8') { reader ->
|
||||||
localProperties.load(reader)
|
localProperties.load(reader)
|
||||||
|
@ -22,9 +26,16 @@ if (flutterVersionName == null) {
|
||||||
flutterVersionName = '1.0'
|
flutterVersionName = '1.0'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def keystoreProperties = new Properties()
|
||||||
|
def keystorePropertiesFile = rootProject.file("key.properties")
|
||||||
|
if (keystorePropertiesFile.exists()) {
|
||||||
|
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
android {
|
android {
|
||||||
namespace "com.example.permainan_kata_anak_sd"
|
namespace "com.example.permainan_kata_anak_sd"
|
||||||
compileSdk flutter.compileSdkVersion
|
compileSdkVersion 35
|
||||||
ndkVersion flutter.ndkVersion
|
ndkVersion flutter.ndkVersion
|
||||||
|
|
||||||
compileOptions {
|
compileOptions {
|
||||||
|
@ -43,19 +54,31 @@ android {
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
|
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
|
||||||
applicationId "com.example.permainan_kata_anak_sd"
|
applicationId "com.example.permainan_kata_anak_sd"
|
||||||
|
manifestPlaceholders = [HEIRNUSA: "package com.example.permainan_kata_anak_sd"]
|
||||||
// You can update the following values to match your application needs.
|
// You can update the following values to match your application needs.
|
||||||
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
|
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
|
||||||
minSdkVersion flutter.minSdkVersion
|
minSdkVersion 23
|
||||||
targetSdkVersion flutter.targetSdkVersion
|
multiDexEnabled true
|
||||||
|
targetSdkVersion 35
|
||||||
versionCode flutterVersionCode.toInteger()
|
versionCode flutterVersionCode.toInteger()
|
||||||
versionName flutterVersionName
|
versionName flutterVersionName
|
||||||
}
|
}
|
||||||
|
|
||||||
|
signingConfigs {
|
||||||
|
create("release") {
|
||||||
|
keyAlias = keystoreProperties["keyAlias"] as String
|
||||||
|
keyPassword = keystoreProperties["keyPassword"] as String
|
||||||
|
storeFile = keystoreProperties["storeFile"] != null ? file(keystoreProperties["storeFile"]) : null
|
||||||
|
storePassword = keystoreProperties["storePassword"] as String
|
||||||
|
}
|
||||||
|
}
|
||||||
buildTypes {
|
buildTypes {
|
||||||
release {
|
release {
|
||||||
// TODO: Add your own signing config for the release build.
|
// TODO: Add your own signing config for the release build.
|
||||||
// Signing with the debug keys for now, so `flutter run --release` works.
|
// Signing with the debug keys for now,
|
||||||
signingConfig signingConfigs.debug
|
// so `flutter run --release` works.
|
||||||
|
signingConfig = signingConfigs.getByName("debug")
|
||||||
|
signingConfig = signingConfigs.getByName("release")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -64,4 +87,18 @@ flutter {
|
||||||
source '../..'
|
source '../..'
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {}
|
dependencies {
|
||||||
|
implementation platform('com.google.firebase:firebase-bom:33.13.0')
|
||||||
|
implementation 'androidx.multidex:multidex:2.0.1'
|
||||||
|
implementation("com.google.android.material:material:1.14.0-alpha02")
|
||||||
|
implementation 'androidx.core:core-ktx:1.12.0'
|
||||||
|
implementation 'androidx.core:core:1.12.0'
|
||||||
|
// implementation 'com.google.firebase:firebase-analytics'
|
||||||
|
}
|
||||||
|
|
||||||
|
configurations.all {
|
||||||
|
resolutionStrategy {
|
||||||
|
force 'androidx.core:core-ktx:1.12.0'
|
||||||
|
force 'androidx.core:core:1.12.0'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
{
|
||||||
|
"project_info": {
|
||||||
|
"project_number": "981802235015",
|
||||||
|
"project_id": "heirnusa",
|
||||||
|
"storage_bucket": "heirnusa.firebasestorage.app"
|
||||||
|
},
|
||||||
|
"client": [
|
||||||
|
{
|
||||||
|
"client_info": {
|
||||||
|
"mobilesdk_app_id": "1:981802235015:android:5dc05fece10bb33333f422",
|
||||||
|
"android_client_info": {
|
||||||
|
"package_name": "com.example.permainan_kata_anak_sd"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"oauth_client": [
|
||||||
|
{
|
||||||
|
"client_id": "981802235015-sdfba373stjkqpa4jskd234o7j7p7uqt.apps.googleusercontent.com",
|
||||||
|
"client_type": 1,
|
||||||
|
"android_info": {
|
||||||
|
"package_name": "com.example.permainan_kata_anak_sd",
|
||||||
|
"certificate_hash": "e371d38edbc45a0b0b23e99a85e0aac4a43ab463"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"client_id": "981802235015-bdpvoe48d1pad9pvurl6ik66hgeiepun.apps.googleusercontent.com",
|
||||||
|
"client_type": 3
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"api_key": [
|
||||||
|
{
|
||||||
|
"current_key": "AIzaSyATq11for4M4yrX07i1TvNdbrAwSf5YP2s"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"services": {
|
||||||
|
"appinvite_service": {
|
||||||
|
"other_platform_oauth_client": [
|
||||||
|
{
|
||||||
|
"client_id": "981802235015-bdpvoe48d1pad9pvurl6ik66hgeiepun.apps.googleusercontent.com",
|
||||||
|
"client_type": 3
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"configuration_version": "1"
|
||||||
|
}
|
|
@ -1,8 +1,7 @@
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<application
|
<application
|
||||||
android:label="permainan_kata_anak_sd"
|
android:label="HEIRNUSA"
|
||||||
android:name="${applicationName}"
|
android:icon="@mipmap/launcher_icon">
|
||||||
android:icon="@mipmap/ic_launcher">
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".MainActivity"
|
android:name=".MainActivity"
|
||||||
android:exported="true"
|
android:exported="true"
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
// Generated file.
|
||||||
|
//
|
||||||
|
// If you wish to remove Flutter's multidex support, delete this entire file.
|
||||||
|
//
|
||||||
|
// Modifications to this file should be done in a copy under a different name
|
||||||
|
// as this file may be regenerated.
|
||||||
|
|
||||||
|
package io.flutter.app;
|
||||||
|
|
||||||
|
import android.app.Application;
|
||||||
|
import android.content.Context;
|
||||||
|
import androidx.annotation.CallSuper;
|
||||||
|
import androidx.multidex.MultiDex;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Extension of {@link android.app.Application}, adding multidex support.
|
||||||
|
*/
|
||||||
|
public class FlutterMultiDexApplication extends Application {
|
||||||
|
@Override
|
||||||
|
@CallSuper
|
||||||
|
protected void attachBaseContext(Context base) {
|
||||||
|
super.attachBaseContext(base);
|
||||||
|
MultiDex.install(this);
|
||||||
|
}
|
||||||
|
}
|
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 55 KiB |
|
@ -1,3 +1,14 @@
|
||||||
|
buildscript {
|
||||||
|
repositories {
|
||||||
|
google() // Google's Maven repository
|
||||||
|
mavenCentral() // Maven Central repository
|
||||||
|
}
|
||||||
|
dependencies {
|
||||||
|
classpath ("com.google.gms:google-services:4.3.15")
|
||||||
|
classpath 'com.android.tools.build:gradle:8.2.2'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
allprojects {
|
allprojects {
|
||||||
repositories {
|
repositories {
|
||||||
google()
|
google()
|
||||||
|
|
|
@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-all.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-all.zip
|
||||||
|
|
|
@ -19,7 +19,7 @@ pluginManagement {
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
|
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
|
||||||
id "com.android.application" version "7.3.0" apply false
|
id "com.android.application" version "8.2.2" apply false
|
||||||
id "org.jetbrains.kotlin.android" version "1.7.10" apply false
|
id "org.jetbrains.kotlin.android" version "1.7.10" apply false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
After Width: | Height: | Size: 57 KiB |
After Width: | Height: | Size: 62 KiB |
After Width: | Height: | Size: 898 KiB |
After Width: | Height: | Size: 189 KiB |
After Width: | Height: | Size: 917 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 46 KiB |
After Width: | Height: | Size: 1.9 MiB |
After Width: | Height: | Size: 52 KiB |
After Width: | Height: | Size: 279 KiB |
After Width: | Height: | Size: 46 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 41 KiB |
After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 281 KiB |
After Width: | Height: | Size: 160 KiB |
After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 188 KiB |
After Width: | Height: | Size: 51 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 49 KiB |
After Width: | Height: | Size: 78 KiB |
After Width: | Height: | Size: 344 KiB |
After Width: | Height: | Size: 917 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 49 KiB |
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 109 KiB |
After Width: | Height: | Size: 47 KiB |
After Width: | Height: | Size: 103 KiB |
After Width: | Height: | Size: 1.0 MiB |
After Width: | Height: | Size: 518 KiB |
After Width: | Height: | Size: 905 KiB |
After Width: | Height: | Size: 5.9 MiB |
After Width: | Height: | Size: 3.9 MiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 1.9 MiB |
Before Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 2.7 MiB |
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 4.3 MiB |
After Width: | Height: | Size: 4.2 MiB |
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 5.3 MiB |
Before Width: | Height: | Size: 64 KiB |
After Width: | Height: | Size: 302 KiB |
After Width: | Height: | Size: 2.5 MiB |
After Width: | Height: | Size: 411 KiB |
After Width: | Height: | Size: 2.8 MiB |
After Width: | Height: | Size: 367 KiB |
After Width: | Height: | Size: 5.3 MiB |
After Width: | Height: | Size: 420 KiB |
After Width: | Height: | Size: 6.5 MiB |
After Width: | Height: | Size: 2.7 MiB |
After Width: | Height: | Size: 1.8 MiB |
After Width: | Height: | Size: 2.4 MiB |
After Width: | Height: | Size: 3.8 MiB |
After Width: | Height: | Size: 4.6 MiB |
After Width: | Height: | Size: 474 KiB |
After Width: | Height: | Size: 4.6 MiB |
After Width: | Height: | Size: 4.0 MiB |
After Width: | Height: | Size: 3.6 MiB |
After Width: | Height: | Size: 5.7 MiB |
After Width: | Height: | Size: 1.9 MiB |
After Width: | Height: | Size: 1.4 MiB |
After Width: | Height: | Size: 1.3 MiB |
After Width: | Height: | Size: 635 KiB |
After Width: | Height: | Size: 6.4 MiB |
After Width: | Height: | Size: 2.6 MiB |
After Width: | Height: | Size: 2.2 MiB |
After Width: | Height: | Size: 1.7 MiB |
After Width: | Height: | Size: 1.4 MiB |
After Width: | Height: | Size: 976 KiB |
After Width: | Height: | Size: 591 KiB |
After Width: | Height: | Size: 1.2 MiB |
After Width: | Height: | Size: 1.3 MiB |
After Width: | Height: | Size: 1.9 MiB |
After Width: | Height: | Size: 822 KiB |
After Width: | Height: | Size: 2.0 MiB |
After Width: | Height: | Size: 2.2 MiB |
After Width: | Height: | Size: 575 KiB |
After Width: | Height: | Size: 958 KiB |
After Width: | Height: | Size: 1.2 MiB |
After Width: | Height: | Size: 2.2 MiB |