You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							119 lines
						
					
					
						
							4.4 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							119 lines
						
					
					
						
							4.4 KiB
						
					
					
				| apply plugin: 'com.android.application' | |
| 
 | |
| // These are sample values to set in gradle.properties.secrets | |
| // MY_KEYSTORE_FILE=time-safari-upload-key-pkcs12.jks | |
| // MY_KEYSTORE_PASSWORD=... | |
| // MY_KEY_ALIAS=time-safari-key-alias | |
| // MY_KEY_PASSWORD=... | |
|  | |
| // Try to load from environment variables first | |
| project.ext.MY_KEYSTORE_FILE = System.getenv('ANDROID_KEYSTORE_FILE') ?: "" | |
| project.ext.MY_KEYSTORE_PASSWORD = System.getenv('ANDROID_KEYSTORE_PASSWORD') ?: "" | |
| project.ext.MY_KEY_ALIAS = System.getenv('ANDROID_KEY_ALIAS') ?: "" | |
| project.ext.MY_KEY_PASSWORD = System.getenv('ANDROID_KEY_PASSWORD') ?: "" | |
| 
 | |
| // If no environment variables, try to load from secrets file | |
| if (!project.ext.MY_KEYSTORE_FILE) { | |
|     def secretsPropertiesFile = rootProject.file("app/gradle.properties.secrets") | |
|     if (secretsPropertiesFile.exists()) { | |
|         Properties secretsProperties = new Properties() | |
|         secretsProperties.load(new FileInputStream(secretsPropertiesFile)) | |
|         secretsProperties.each { name, value -> | |
|             project.ext[name] = value | |
|         } | |
|     } | |
| } | |
| 
 | |
| android { | |
|     namespace 'app.timesafari' | |
|     compileSdk rootProject.ext.compileSdkVersion | |
|     defaultConfig { | |
|         applicationId "app.timesafari.app" | |
|         minSdkVersion rootProject.ext.minSdkVersion | |
|         targetSdkVersion rootProject.ext.targetSdkVersion | |
|         versionCode 40 | |
|         versionName "1.0.7" | |
|         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" | |
|         aaptOptions { | |
|              // Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps. | |
|              // Default: https://android.googlesource.com/platform/frameworks/base/+/282e181b58cf72b6ca770dc7ca5f91f135444502/tools/aapt/AaptAssets.cpp#61 | |
|             ignoreAssetsPattern '!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~' | |
|         } | |
|     } | |
|     signingConfigs { | |
|         release { | |
|             if (project.ext.MY_KEYSTORE_FILE && | |
|                 project.ext.MY_KEYSTORE_PASSWORD && | |
|                 project.ext.MY_KEY_ALIAS && | |
|                 project.ext.MY_KEY_PASSWORD) { | |
| 
 | |
|                 storeFile file(project.ext.MY_KEYSTORE_FILE) | |
|                 storePassword project.ext.MY_KEYSTORE_PASSWORD | |
|                 keyAlias project.ext.MY_KEY_ALIAS | |
|                 keyPassword project.ext.MY_KEY_PASSWORD | |
|             } | |
|         } | |
|     } | |
|     buildTypes { | |
|         release { | |
|             minifyEnabled false | |
|             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' | |
|             // Only sign if we have the signing config | |
|             if (signingConfigs.release.storeFile != null) { | |
|                 signingConfig signingConfigs.release | |
|             } | |
|         } | |
|     } | |
|     packagingOptions { | |
|         jniLibs { | |
|             pickFirsts += ['**/lib/x86_64/libbarhopper_v3.so', '**/lib/x86_64/libimage_processing_util_jni.so', '**/lib/x86_64/libsqlcipher.so'] | |
|         } | |
|     } | |
| 
 | |
|     // Configure for 16 KB page size compatibility | |
|  | |
| 
 | |
|     // Enable bundle builds (without which it doesn't work right for bundleDebug vs bundleRelease) | |
|     bundle { | |
|         language { | |
|             enableSplit = true | |
|         } | |
|         density { | |
|             enableSplit = true | |
|         } | |
|         abi { | |
|             enableSplit = true | |
|         } | |
|     } | |
| } | |
| 
 | |
| repositories { | |
|     flatDir{ | |
|         dirs '../capacitor-cordova-android-plugins/src/main/libs', 'libs' | |
|     } | |
| } | |
| 
 | |
| dependencies { | |
|     implementation fileTree(include: ['*.jar'], dir: 'libs') | |
|     implementation "androidx.appcompat:appcompat:$androidxAppCompatVersion" | |
|     implementation "androidx.coordinatorlayout:coordinatorlayout:$androidxCoordinatorLayoutVersion" | |
|     implementation "androidx.core:core-splashscreen:$coreSplashScreenVersion" | |
|     implementation project(':capacitor-android') | |
|     implementation project(':capacitor-community-sqlite') | |
|     implementation "androidx.biometric:biometric:1.2.0-alpha05" | |
|     testImplementation "junit:junit:$junitVersion" | |
|     androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion" | |
|     androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion" | |
|     implementation project(':capacitor-cordova-android-plugins') | |
| } | |
| 
 | |
| apply from: 'capacitor.build.gradle' | |
| 
 | |
| try { | |
|     def servicesJSON = file('google-services.json') | |
|     if (servicesJSON.text) { | |
|         apply plugin: 'com.google.gms.google-services' | |
|     } | |
| } catch(Exception e) { | |
|     logger.info("google-services.json not found, google-services plugin not applied. Push Notifications won't work") | |
| }
 | |
| 
 |