Apksigner can be used to verify APK signature. It's a part of build-tools since version 26.
Where to find it ? (e.g.)
- macOS : ~/Users/<your_user_name>/Library/Android/sdk/build-tools/<build-tools-version>/lib/
- Windows : ?
| func downloadFile(fullUrl string) { | |
| // Extract filename from path | |
| fileURL, err := url.Parse(fullUrl) | |
| if err != nil { | |
| check(err) | |
| } | |
| path := fileURL.Path | |
| segments := strings.Split(path, "/") | |
| fileName := segments[len(segments)-1] |
| @file:DependsOnMaven("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.2") | |
| import kotlinx.coroutines.Dispatchers | |
| import kotlinx.coroutines.async | |
| import kotlinx.coroutines.awaitAll | |
| import kotlinx.coroutines.runBlocking | |
| import java.io.File | |
| import kotlin.system.exitProcess | |
| import kotlin.system.measureTimeMillis |
| import kotlin.reflect.KMutableProperty | |
| import kotlin.reflect.KProperty | |
| import kotlin.reflect.full.memberProperties | |
| fun main() { | |
| // Create Sup | |
| val spiderman: SuperHeroe = SuperHeroe(Person(firstname = "Peter", lastname = "Parker", age = 28), "SpiderMan") | |
| println("Spiderman firstname: ${spiderman.firstname}") |
| void main() { | |
| // On crée / reçoit la liste des questions | |
| List<Question> questions = [ | |
| new Question("Quel temps fait-il ?"), | |
| new Question("Que manges-tu ?"), | |
| new Question("Quelle est cette couleur ?"), | |
| new Question("Quel fruit est-ce ?"), | |
| new Question("Quelle est ta voiture préférée ?"), | |
| new Question("Quel film regardes-tu ?"), | |
| new Question("Où habites-tu ?") |
| import 'package:flutter/material.dart'; | |
| import 'package:youtube_player_flutter/youtube_player_flutter.dart'; | |
| void main() => runApp(MyApp()); | |
| class MyApp extends StatelessWidget { | |
| // This widget is the root of your application. | |
| final List<String> urls = [ | |
| 'UvBiN3BAxw4', // Aquafrolics |
| import 'package:flutter/material.dart'; | |
| final Color darkBlue = Color.fromARGB(255, 18, 32, 47); | |
| void main() { | |
| runApp(MyApp()); | |
| } | |
| class MyApp extends StatelessWidget { | |
| final List<String> urls = [ |
| fun isInternetAvailable() { | |
| try { | |
| val command = "ping -c 1 google.com" | |
| if (Runtime.getRuntime().exec(command).waitFor() == 0) { | |
| viewAction.onNext(LauncherAction.InternetAvailable) | |
| } else { | |
| viewAction.onNext( | |
| LauncherAction.NoNetwork( | |
| R.string.launcher_error_no_network_title, | |
| R.string.launcher_error_no_network_message |
| class ServiceManager(private val context: Context) { | |
| private val globalsConstraints = | |
| Constraints.Builder().setRequiredNetworkType(NetworkType.CONNECTED).build() | |
| // Add new jobs here | |
| private val allServicesAvailables = | |
| listOf( | |
| Service(IncidentsSynchronizationWorker::class.java, IncidentsSynchronizationWorker.TAG), | |
| Service(AttachmentsCleaningWorker::class.java, AttachmentsCleaningWorker.TAG) |