20/08/2025
I en verden, hvor mobilapps er blevet uundværlige, er evnen til at forbinde dem med robuste og skalerbare cloud-tjenester afgørende. Amazon Web Services (AWS) tilbyder en bred vifte af cloud-løsninger, der kan løfte din mobilapp til nye højder, lige fra datalagring og brugerautentificering til avanceret maskinlæring og analyse. For Android-udviklere har AWS Android SDK traditionelt været broen til disse tjenester, hvilket har muliggjort direkte interaktion og integration. Denne artikel vil dykke ned i, hvad AWS Android SDK er, hvordan du bruger det, og hvad du skal være opmærksom på – især med tanke på den anbefalede overgang til AWS Amplify for fremtidig mobiludvikling i skyen.

Uanset om du er en erfaren udvikler, der ønsker at optimere dine eksisterende AWS-integrationer, eller en nybegynder, der udforsker cloud-baserede løsninger for første gang, vil denne guide give dig en omfattende forståelse af AWS Android SDK'ets rolle og vejen fremad for Android-apps drevet af AWS.
- Hvad er AWS Android SDK for Mobile Client?
- Installation og Opsætning af AWS Android SDK
- Interaktion med AWS-tjenester: Et Praktisk Eksempel
- Vigtige Overvejelser for Udvikling med AWS Android SDK
- Ofte Stillede Spørgsmål (FAQ)
- Hvad er den primære forskel mellem AWS Android SDK og AWS Amplify for Android?
- Er det stadig sikkert at bruge AWS Android SDK efter 1. august 2026?
- Hvilke fordele giver AWS Amplify i forhold til det ældre SDK?
- Skal jeg betale ekstra for at bruge AWS SDK eller Amplify?
- Hvordan håndterer jeg brugerautentificering med AWS på Android?
- Hvor kan jeg finde mere information eller få hjælp?
- Konklusion
Hvad er AWS Android SDK for Mobile Client?
AWS Android SDK for Mobile Client er en central komponent i AWS's mobile økosystem for Android. I sin kerne indeholder den de klientklasser, der er nødvendige for at initialisere SDK'et og oprette instanser af de forskellige SDK-klienter. Det er i bund og grund startpunktet for din apps interaktion med AWS-tjenester. Forestil dig det som den port, hvorigennem din Android-app kan anmode om og modtage data fra Amazon S3, interagere med en DynamoDB-database, eller styre brugerautentificering via Amazon Cognito.
Denne klient giver en høj-niveau grænseflade, der forenkler mange af de komplekse opgaver forbundet med cloud-kommunikation, så du kan fokusere mere på din apps forretningslogik og mindre på netværksprotokoller og fejlhåndtering. Den er designet til at give dig fleksibilitet, uanset om du ønsker at tilføje almindelige funktioner hurtigt eller har mere avancerede krav, der kræver direkte interaktion med genererede AWS-tjenestegrænseflader.
Installation og Opsætning af AWS Android SDK
For at begynde at bruge AWS Android SDK i dit Android Studio-projekt, skal du integrere det via Gradle, Androids foretrukne bygningssystem. Processen er ligetil og involverer tilføjelse af de nødvendige afhængigheder til din apps build.gradle-fil.
Gradle Integration og Afhængigheder
Den mest almindelige måde at inkludere AWS Android SDK på er ved at tilføje individuelle tjenesteafhængigheder til din app/build.gradle-fil. Dette giver dig kontrol over, hvilke AWS-tjenester din app skal interagere med, hvilket holder din app-størrelse nede og dit projekt organiseret.
Her er et eksempel på, hvordan du tilføjer en afhængighed, for eksempel til Amazon DynamoDB:
dependencies {
implementation 'com.amazonaws:aws-android-sdk-ddb:ANDROID_SDK_VERSION'
}ANDROID_SDK_VERSION skal erstattes med den specifikke version af SDK'et, du ønsker at bruge (f.eks. '2.28.0').

En fuld liste over tilgængelige moduler er omfattende, men her er nogle af de mest almindelige og nyttige, som du måske vil overveje at inkludere:
| AWS Tjeneste/Funktion | Gradle Afhængighed |
|---|---|
| AWS Mobile Client (grundlæggende) | com.amazonaws:aws-android-sdk-mobile-client:ANDROID_SDK_VERSION |
| Amazon API Gateway Core | com.amazonaws:aws-android-sdk-apigateway-cor:ANDROID_SDK_VERSION |
| AWS Auth Core | com.amazonaws:aws-android-sdk-auth-core:ANDROID_SDK_VERSION |
| AWS Facebook SignIn Provider | com.amazonaws:aws-android-sdk-auth-facebook:ANDROID_SDK_VERSION |
| AWS Google SignIn Provider | com.amazonaws:aws-android-sdk-auth-google:ANDROID_SDK_VERSION |
| AWS Cognito User Pools SignIn Provider | com.amazonaws:aws-android-sdk-auth-userpools:ANDROID_SDK_VERSION |
| Amazon Cognito Identity Provider | com.amazonaws:aws-android-sdk-cognitoidentityprovider:ANDROID_SDK_VERSION |
| AWS Core | com.amazonaws:aws-android-sdk-core:ANDROID_SDK_VERSION |
| Amazon DynamoDB | com.amazonaws:aws-android-sdk-ddb:ANDROID_SDK_VERSION |
| Amazon DynamoDB Document Model | com.amazonaws:aws-android-sdk-ddb-document:ANDROID_SDK_VERSION |
| Amazon DynamoDB Object Mapper | com.amazonaws:aws-android-sdk-ddb-mapper:ANDROID_SDK_VERSION |
| AWS IoT | com.amazonaws:aws-android-sdk-iot:ANDROID_SDK_VERSION |
| AWS Lambda | com.amazonaws:aws-android-sdk-lambda:ANDROID_SDK_VERSION |
| Amazon Pinpoint | com.amazonaws:aws-android-sdk-pinpoint:ANDROID_SDK_VERSION |
| Amazon Polly (tekst-til-tale) | com.amazonaws:aws-android-sdk-polly:ANDROID_SDK_VERSION |
| Amazon Rekognition (billedanalyse) | com.amazonaws:aws-android-sdk-rekognition:ANDROID_SDK_VERSION |
| Amazon Simple Storage Service (S3) | com.amazonaws:aws-android-sdk-s3:ANDROID_SDK_VERSION |
| Amazon SNS (Simple Notification Service) | com.amazonaws:aws-android-sdk-sns:ANDROID_SDK_VERSION |
| Amazon SQS (Simple Queue Service) | com.amazonaws:aws-android-sdk-sqs:ANDROID_SDK_VERSION |
Efter at have tilføjet de ønskede afhængigheder, skal du køre en Gradle Sync i Android Studio for at downloade og installere dem. Når en ny version af SDK'et frigives, kan du opdatere ved blot at ændre ANDROID_SDK_VERSION til den nyeste version og køre en Gradle Sync igen.
Nødvendige Tilladelser
For at din Android-app kan kommunikere med AWS-tjenester via internettet, skal du tilføje den nødvendige internettilladelse til din AndroidManifest.xml-fil:
<uses-permission android:name="android.permission.INTERNET" />Denne tilladelse er fundamental for enhver app, der skal foretage netværkskald.
Interaktion med AWS-tjenester: Et Praktisk Eksempel
Når SDK'et er sat op, kan du begynde at interagere med AWS-tjenester. Den anbefalede måde at håndtere legitimationsoplysninger på er via AWSMobileClient, som udnytter midlertidige AWS-legitimationsoplysninger fra Cognito Identity. Dette er en sikker måde at give din app adgang til AWS-ressourcer uden at indlejre følsomme nøgler direkte i koden.
For at arbejde med tjenestegrænsefladeobjekter, skal dine Amazon Cognito-brugers IAM-rolle (Identity and Access Management) have de passende tilladelser til at kalde de ønskede tjenester. Dette er en kritisk sikkerhedsforanstaltning, der sikrer, at din app kun har adgang til de ressourcer, den har brug for.
Lad os se på et eksempel med Amazon Simple Queue Service (SQS), en køtjeneste, der bruges til at sende beskeder mellem applikationskomponenter:
import com.amazonaws.services.sqs.AmazonSQSAsyncClient;
import com.amazonaws.services.sqs.model.SendMessageRequest;
import com.amazonaws.services.sqs.model.SendMessageResult;
import com.amazonaws.mobile.client.AWSMobileClient;
import com.amazonaws.regions.Region;
import com.amazonaws.services.sqs.AmazonSQSAsyncHandler;
import android.util.Log;
public class MyAwsService {
private static final String LOG_TAG = MyAwsService.class.getSimpleName();
public void sendMessageToSQS() {
// Initialiser AWSMobileClient for at få legitimationsoplysninger
AWSMobileClient.getInstance().initialize(getApplicationContext(), new Callback() {
@Override
public void onResult(final AWSMobileClient mobileClient) {
// Opret en asynkron SQS-klient med AWSMobileClient's legitimationsoplysninger
AmazonSQSAsyncClient sqsClient = new AmazonSQSAsyncClient(mobileClient);
// Sæt den region, hvor din SQS-kø er placeret
sqsClient.setRegion(Region.getRegion("eu-central-1")); // Erstat med din region
// Opret anmodningen om at sende en besked
SendMessageRequest sendMessageRequest = new SendMessageRequest(
"https://sqs.eu-central-1.amazonaws.com/XXXXXXXXXXXX/MyQueue", // Erstat med din kø-URL
"Hello, AWS SQS from Android!" // Beskeden der skal sendes
);
// Send beskeden asynkront og håndter resultatet
sqsClient.sendMessageAsync(sendMessageRequest, new AmazonSQSAsyncHandler() {
@Override
public void onError(Exception exception) {
Log.e(LOG_TAG, "Fejl ved afsendelse af SQS-besked: ", exception);
}
@Override
public void onSuccess(SendMessageRequest request, SendMessageResult result) {
Log.i(LOG_TAG, "SQS-besked sendt succesfuldt. Besked ID: " + result.getMessageId());
}
});
}
@Override
public void onError(Exception e) {
Log.e(LOG_TAG, "Fejl ved initialisering af AWSMobileClient: ", e);
}
});
}
}Dette kodeeksempel demonstrerer, hvordan du:
- Initialiserer
AWSMobileClientfor at få sikre, midlertidige legitimationsoplysninger. - Opretter en instans af
AmazonSQSAsyncClientved hjælp af disse legitimationsoplysninger. - Sætter den AWS-region, hvor din SQS-kø er hostet.
- Konstruerer en
SendMessageRequestmed din køs URL og den besked, du ønsker at sende. - Sender beskeden asynkront ved hjælp af
sendMessageAsyncog håndterer success eller fejl via en callback-funktion.
Denne asynkrone tilgang er afgørende for at undgå at blokere brugergrænsefladen (UI-tråden) og sikre en flydende brugeroplevelse.
Vigtige Overvejelser for Udvikling med AWS Android SDK
Mens AWS Android SDK har været en pålidelig arbejdshest for mange Android-udviklere, er der vigtige oplysninger om dets livscyklus og fremtid, som du absolut skal være opmærksom på.

SDK'ets Livscyklus: Vedligeholdelsesfase
Det er afgørende at forstå, at AWS Android SDK er trådt ind i en Vedligeholdelsesfase den 1. august 2025. Dette betyder, at:
- Kritiske fejlrettelser og sikkerhedsrettelser vil fortsat blive leveret.
- Der vil ikke blive tilføjet nye funktioner eller forbedringer.
- Eksisterende funktionalitet vil forblive understøttet.
SDK'et er desuden planlagt til at nå End of Support den 1. august 2026. Efter denne dato vil der ikke blive leveret yderligere opdateringer af nogen art. Dette indikerer en klar retning fra AWS om at flytte fokus mod nyere og mere moderne løsninger for mobiludvikling.
Anbefalet Fremtid: AWS Amplify for Android
På grund af SDK'ets vedligeholdelsesfase og den kommende End of Support, anbefaler AWS kraftigt, at du begynder at bruge AWS Amplify for Android. Amplify er et moderne, funktionsrigt bibliotek, der er designet specifikt til at bygge cloud-forbundne apps drevet af AWS. Det tilbyder en højere abstraktionsgrad og strømliner mange almindelige udviklingsopgaver, såsom autentificering, datalagring, filhåndtering og realtidsabonnementer.
Hvis du allerede bruger det ældre AWS Android SDK, er der en migrationsguide tilgængelig, som kan hjælpe dig med overgangen til AWS Amplify for Android. At skifte til Amplify er en strategisk beslutning, der vil fremtidssikre dine apps og give dig adgang til de nyeste funktioner og bedste praksis inden for mobil cloud-udvikling.
Grundlæggende Udviklingsprincipper
Uanset om du bruger det ældre SDK eller AWS Amplify, er der nogle grundlæggende principper, der er gode at kende, når du udvikler mod AWS:
- Aldrig indlejre legitimationsoplysninger: Det er trivielt nemt at dekompilere Android-applikationer og stjæle indlejrede legitimationsoplysninger. Brug altid midlertidigt udstedte legitimationsoplysninger fra tjenester som Amazon Cognito Identity. Dette er en fundamental sikkerhedspraksis.
- Asynkrone kald: Medmindre det udtrykkeligt er angivet, er AWS SDK-kald synkrone og skal udføres uden for hovedtråden (UI-tråden). Hvis du udfører synkrone netværkskald på hovedtråden, vil din app fryse og potentielt udløse en Application Not Responding (ANR) fejl. Brug asynkrone metoder eller kør kaldene i en baggrundstråd.
- Fejlhåndtering: Kald kan altid kaste en
AmazonServiceException(hvis undtagelsen genereres af tjenesten) eller enAmazonClientException(hvis den genereres af klienten). Det er vigtigt at implementere robust fejlhåndtering for at give en god brugeroplevelse og diagnosticere problemer. - Automatisk genforsøg: SDK'et håndterer automatisk genforsøg af anmodninger i tilfælde af midlertidige netværksproblemer eller tjenestefejl. Men medmindre det udtrykkeligt er angivet, vil det kaste en undtagelse, hvis det ikke kan kontakte AWS efter flere genforsøg.
Ofte Stillede Spørgsmål (FAQ)
Hvad er den primære forskel mellem AWS Android SDK og AWS Amplify for Android?
AWS Android SDK er et lav-niveau bibliotek, der giver direkte interaktion med individuelle AWS-backend-tjenester. Det kræver mere manuel opsætning og forståelse af de underliggende AWS-tjenester. AWS Amplify for Android er et høj-niveau, funktionsrigt bibliotek, der forenkler udviklingen af cloud-forbundne apps ved at abstrahere kompleksiteten af AWS-tjenester. Amplify er designet til at accelerere udviklingen af almindelige mobilapp-funktioner som autentificering, data, opbevaring, API'er og notifikationer, og er AWS's anbefalede tilgang for moderne mobiludvikling.
Er det stadig sikkert at bruge AWS Android SDK efter 1. august 2026?
Efter den 1. august 2026 vil AWS Android SDK nå End of Support, hvilket betyder, at der ikke vil blive leveret yderligere opdateringer, inklusive sikkerhedsrettelser. Selvom eksisterende funktionalitet stadig vil virke, kan det udgøre en sikkerhedsrisiko over tid, da potentielle sårbarheder ikke vil blive patchet. Det anbefales kraftigt at migrere til AWS Amplify for at sikre din apps sikkerhed og fremtidige kompatibilitet.
Hvilke fordele giver AWS Amplify i forhold til det ældre SDK?
AWS Amplify tilbyder flere fordele: hurtigere udvikling med prædefinerede komponenter, en mere intuitiv API, bedre understøttelse af moderne Android-udviklingsmønstre (f.eks. Kotlin Coroutines), og tæt integration med Amplify CLI og Studio for at administrere din backend. Det forenkler komplekse cloud-funktioner og giver en mere sammenhængende udviklingsoplevelse for at bygge fuldt udstyrede, skalerbare mobile applikationer.

Skal jeg betale ekstra for at bruge AWS SDK eller Amplify?
Nej, selve AWS Android SDK og AWS Amplify-bibliotekerne er gratis at downloade og bruge. Du betaler kun for de underliggende AWS-tjenester, som din app interagerer med (f.eks. S3-lagring, DynamoDB-læsninger/skrivninger, Cognito-brugerpuljer). AWS tilbyder ofte en gratis niveau (Free Tier) for mange af deres tjenester, hvilket er ideelt til test og mindre projekter.
Hvordan håndterer jeg brugerautentificering med AWS på Android?
Med det ældre AWS Android SDK ville du typisk bruge aws-android-sdk-cognitoauth eller aws-android-sdk-auth-userpools sammen med AWSMobileClient. Med AWS Amplify er autentificering strømlinet gennem Amplify Auth-kategorien, som understøtter Amazon Cognito og giver nem integration med sociale logins (Google, Facebook) og Multi-Factor Authentication (MFA). Amplify Auth er den anbefalede og mere moderne tilgang.
Hvor kan jeg finde mere information eller få hjælp?
For det ældre AWS Android SDK er den officielle dokumentation stadig tilgængelig, men den bliver ikke længere opdateret med nye funktioner. For AWS Amplify for Android anbefales det at besøge Amplify Docs-hjemmesiden, som er rig på eksempler, tutorials og API-reference. Derudover kan du engagere dig med AWS-fællesskabet på Discord-kanaler og GitHub Issues for at stille spørgsmål og rapportere fejl.
Konklusion
AWS Android SDK har tjent som et robust fundament for Android-udviklere, der ønsker at integrere deres applikationer med AWS's kraftfulde cloud-tjenester. Det har givet udviklere de nødvendige værktøjer til at bygge skalerbare og funktionsrige apps, der udnytter fordelene ved skyen. Men som med al teknologi udvikler landskabet sig, og AWS's fokus er nu rettet mod AWS Amplify for Android.
Mens det ældre SDK fortsat vil fungere i en begrænset periode, er det strategisk klogt at begynde at udforske og migrere til AWS Amplify. Amplify repræsenterer fremtiden for mobiludvikling med AWS, og tilbyder en mere strømlinet, moderne og funktionsrig oplevelse, der vil hjælpe dig med at bygge endnu bedre og mere fremtidssikre applikationer. Ved at omfavne Amplify sikrer du, at dine Android-apps forbliver på forkant med innovation og sikkerhed i det stadigt voksende cloud-miljø.
Hvis du vil læse andre artikler, der ligner AWS Android SDK: Din Nøgle til Robuste Mobilapps i Skyen, kan du besøge kategorien Teknologi.
