ஆண்ட்ராய்டு ஸ்டுடியோவில் "getCredentialAsync: வழங்குநர் சார்ந்து இல்லை" பிழையைத் தீர்க்கிறது

ஆண்ட்ராய்டு ஸ்டுடியோவில் getCredentialAsync: வழங்குநர் சார்ந்து இல்லை பிழையைத் தீர்க்கிறது
ஆண்ட்ராய்டு ஸ்டுடியோவில் getCredentialAsync: வழங்குநர் சார்ந்து இல்லை பிழையைத் தீர்க்கிறது

ஆண்ட்ராய்டு உள்நுழைவில் உள்ள நற்சான்றிதழ் சிக்கல்களைப் புரிந்துகொள்வது

ஆண்ட்ராய்டு ஸ்டுடியோவில் Google உள்நுழைவு பொத்தானை உருவாக்குவது, பயனர்களுக்கு தடையற்ற அங்கீகாரத்தை வழங்கும், செயல்படுத்த ஒரு அற்புதமான அம்சமாகும். எனினும், போது போன்ற பிழைகள் "getCredentialAsync: வழங்குநர் சார்ந்து எதுவும் இல்லை" எழுகிறது, அது விரைவில் ஒரு முட்டுக்கட்டையாக மாறும். இந்த சிக்கல் பெரும்பாலும் வளர்ச்சியின் ஓட்டத்தை சீர்குலைக்கிறது மற்றும் ஆன்லைன் வழிகாட்டிகளை நம்பியிருக்கும் டெவலப்பர்களுக்கு ஒரு குறிப்பிடத்தக்க தடையாக இருக்கலாம். 🤔

எனது சமீபத்திய திட்டங்களில் ஒன்றின் போது, ​​இதே சிக்கலை நான் சந்தித்தேன். ஆண்ட்ராய்டு எமுலேட்டரைச் சோதனை செய்யும் போது, ​​அதைப் பற்றிய எச்சரிக்கையையும் பார்த்தேன் Google Play சேவைகள் காலாவதியாகிவிட்டன. தேவையான மற்றும் நிறுவப்பட்ட Play சேவைகளின் பதிப்புகளுக்கு இடையே உள்ள பொருத்தமின்மை எதிர்பாராத நடத்தையை ஏற்படுத்தலாம். சார்புகளைப் புதுப்பிப்பது சிக்கலைத் தீர்க்கவில்லை, பிழைத்திருத்த முயல் துளைக்கு என்னை இட்டுச் சென்றது. 🚧

சோதனை மற்றும் பிழையின் மூலம், இந்தப் பிழையைச் சரிசெய்வதற்கு, OAuth உள்ளமைவுகள், நற்சான்றிதழ் மேலாளர் மற்றும் Play சேவைகள் இணக்கத்தன்மை ஆகியவை எவ்வாறு ஒன்றிணைகின்றன என்பதைப் புரிந்துகொள்வது அவசியம் என்பதைக் கண்டறிந்தேன். இந்தச் சிக்கல்களைச் சரிசெய்து திறம்படச் சரிசெய்வதற்கான படிகள் மூலம் இந்தக் கட்டுரை உங்களுக்கு வழிகாட்டும்.

நீங்கள் ஒரு தொடக்கநிலை அல்லது அனுபவமிக்க டெவலப்பராக இருந்தாலும், இந்த சவால்களை எவ்வாறு தீர்ப்பது என்பதைக் கற்றுக்கொள்வது உங்கள் Android வளர்ச்சி திறன்களை மேம்படுத்துகிறது. இந்தப் பிழையின் மூல காரணத்தை ஆராய்ந்து, உங்களின் கூகுள் உள்நுழைவு பட்டனை விரும்பியபடி செயல்படச் செய்ய, செயல்படக்கூடிய தீர்வுகளை ஆராய்வோம். 🌟

கட்டளை பயன்பாட்டின் உதாரணம்
CredentialManager.create(context) உள்நுழைவு நோக்கங்களுக்காக Google ID டோக்கன்கள் போன்ற நற்சான்றிதழ்களை நிர்வகிக்கத் தேவைப்படும் CredentialManager நிகழ்வைத் துவக்குகிறது.
GetCredentialRequest.Builder() உள்நுழைவு ஓட்டத்தில் சேர்க்க Google ID டோக்கன்கள் போன்ற தேவையான விருப்பங்களைக் குறிப்பிடுவதன் மூலம் நற்சான்றிதழ்களை மீட்டெடுப்பதற்கான கோரிக்கையை உருவாக்குகிறது.
GetGoogleIdOption.Builder() அங்கீகரிக்கப்பட்ட கணக்குகள் மூலம் வடிகட்ட வேண்டுமா அல்லது சர்வர் கிளையன்ட் ஐடி மற்றும் அல்லாதவற்றைச் சேர்க்க வேண்டுமா என்பது உட்பட, Google ஐடி டோக்கன் மீட்டெடுப்புக்கான உள்ளமைவை வரையறுக்கிறது.
GoogleIdTokenCredential.createFrom() GoogleIdTokenCredential ஆப்ஜெக்ட்டை உருவாக்க மூல நற்சான்றிதழ் தரவை பாகுபடுத்துகிறது, அங்கீகாரத்திற்கு தேவையான ஐடி டோக்கனை அணுக அனுமதிக்கிறது.
MessageDigest.getInstance("SHA-256") டோக்கன் கோரிக்கைச் செயல்பாட்டின் போது ஒருமைப்பாடு மற்றும் பாதுகாப்பை உறுதிசெய்து, மதிப்புக்கு பாதுகாப்பான ஹாஷை உருவாக்குகிறது.
GoogleApiAvailability.getInstance() சாதனத்தில் Google Play சேவைகள் உள்ளனவா என்பதைச் சரிபார்த்து, அங்கீகார ஓட்டத்துடன் இணக்கத்தன்மையை உறுதிப்படுத்த உதவுகிறது.
isGooglePlayServicesAvailable(context) தேவையான பதிப்பு நிறுவப்பட்டுள்ளதா அல்லது புதுப்பிப்பு தேவையா என்பதைக் குறிக்கும் வகையில், சாதனத்தில் Google Play சேவைகளின் நிலையை வழங்குகிறது.
runBlocking ஒரு கொரூட்டினை ஒரு தடுப்பு முறையில் செயல்படுத்த சோதனையில் பயன்படுத்தப்படுகிறது, உறுதிமொழிகள் சரிபார்க்கப்படுவதற்கு முன் அனைத்து ஒத்திசைவற்ற பணிகளும் முடிக்கப்படுவதை உறுதி செய்கிறது.
Toast.makeText(context, message, duration).show() உள்நுழைவுச் செயல்பாட்டின் போது பிழைகள் அல்லது வெற்றிகரமான செயல்கள் குறித்த கருத்தை வழங்க பொதுவாகப் பயன்படுத்தப்படும் ஒரு சுருக்கமான செய்தியைப் பயனருக்குக் காட்டுகிறது.
fold("") { str, it ->fold("") { str, it -> } ஒரு பைட் வரிசையின் மீது திரும்பச் செய்வதன் மூலம் ஒரு சரத்தைக் குவிக்கிறது, ஒவ்வொரு பைட்டையும் ஹெக்ஸாடெசிமல் பிரதிநிதித்துவமாக வடிவமைக்கிறது, இது பெரும்பாலும் ஹாஷ் மதிப்புகளை உருவாக்கப் பயன்படுகிறது.

ஆண்ட்ராய்டு அங்கீகாரத்தில் நற்சான்றிதழ் சிக்கல்களைத் தீர்ப்பது

வழங்கப்பட்டுள்ள ஸ்கிரிப்ட்கள், ஆண்ட்ராய்டு பயன்பாட்டில் Google உள்நுழைவு பொத்தானை ஒருங்கிணைப்பதில் உள்ள சிக்கலை நிவர்த்தி செய்கின்றன, குறிப்பாக getCredentialAsync வழங்குநர் சார்புகள் எதுவும் கண்டறியப்படவில்லை பிழையைக் கையாள்வதில் கவனம் செலுத்துகிறது. தீர்வு மையத்தில் உள்ளது நற்சான்றிதழ் மேலாளர் API, அங்கீகார டோக்கன்களுக்கான அணுகலை மையப்படுத்துவதன் மூலம் நற்சான்றிதழ் நிர்வாகத்தை எளிதாக்குகிறது. `CredentialManager.create(சூழல்)` கட்டளை நற்சான்றிதழ் மேலாளரை துவக்குகிறது, இது நற்சான்றிதழ்களை பாதுகாப்பாகக் கோர அனுமதிக்கிறது. எடுத்துக்காட்டாக, பல கணக்கு அமைப்புகளில் பணிபுரியும் போது அல்லது எமுலேட்டர்களில் பயன்பாடுகளை சோதிக்கும் போது இது மிகவும் உதவியாக இருக்கும், அங்கு உள்ளமைவு பிழைகள் பொதுவானவை. 😄

`GetCredentialRequest.Builder()` மற்றும் `GetGoogleIdOption.Builder()` கட்டளைகள் கோரிக்கை அளவுருக்களை வரையறுக்கின்றன. இந்த ஸ்கிரிப்ட்டில், அங்கீகரிக்கப்பட்ட கணக்குகளை வடிகட்ட வேண்டுமா மற்றும் சர்வரின் கிளையன்ட் ஐடியை வழங்க வேண்டுமா போன்ற விவரங்களை அவர்கள் குறிப்பிடுகின்றனர். இந்த விருப்பத்தேர்வுகள் முக்கியமானவை, ஏனெனில் தவறான உள்ளமைவு பெரும்பாலும் விவரிக்கப்பட்டுள்ளதைப் போன்ற பிழைகளுக்கு வழிவகுக்கிறது. எடுத்துக்காட்டாக, சர்வர் கிளையன்ட் ஐடி உங்கள் ஃபயர்பேஸ் அமைப்போடு பொருந்தவில்லை என்றால், Google உள்நுழைவு செயல்முறை தோல்வியடையும். `MessageDigest.getInstance("SHA-256")` ஐப் பயன்படுத்தி ஒரு raw nonnce ஐ ஹாஷ் செய்வதன் மூலம், அங்கீகாரத்திற்காக ஒரு தனித்துவமான, சேதமடையாத சரத்தை உருவாக்குவதன் மூலம் ஸ்கிரிப்ட் பாதுகாப்பை உறுதி செய்கிறது. இந்த நடவடிக்கை சிறந்த நடைமுறை மட்டுமல்ல - இது முக்கியமான பயனர் தரவைக் கையாளும் பயன்பாடுகளுக்குத் தேவை. 🔒

மற்றொரு முக்கிய கூறு இணக்கமானது Google Play சேவைகள். இரண்டாவது ஸ்கிரிப்ட், `GoogleApiAvailability.getInstance()` மற்றும் `isGooglePlayServicesAvailable(சூழல்)` ஆகியவற்றைப் பயன்படுத்தி சாதனத்தின் Play சேவைகளின் பதிப்பைச் சரிபார்ப்பதில் கவனம் செலுத்துகிறது. காலாவதியான பதிப்பு கண்டறியப்பட்டால், அது புதுப்பிக்கும்படி பயனரைத் தூண்டும். இது ஒரு நிஜ உலகப் பிரச்சினை, குறிப்பாக டெவலப்பர்கள் எமுலேட்டர்களை நம்பியுள்ளனர், ஏனெனில் அவர்கள் பெரும்பாலும் பழைய Play சேவைகளை முன்பே நிறுவியுள்ளனர். இதை நிவர்த்தி செய்வதன் மூலம், ஸ்கிரிப்ட் சாதனங்கள் முழுவதும் சீரான செயல்பாட்டை உறுதிசெய்கிறது, பிழை ஏற்படக்கூடிய சூழல்களைக் குறைக்கிறது மற்றும் மதிப்புமிக்க பிழைத்திருத்த நேரத்தைச் சேமிக்கிறது.

இறுதி ஸ்கிரிப்ட் யூனிட் சோதனைகளைப் பயன்படுத்தி Google உள்நுழைவு உதவி வகுப்பின் செயல்பாட்டைச் சோதிக்கிறது. இது `getGoogleIdToken` செயல்பாடு சரியாகச் செயல்படுகிறது என்பதைச் சரிபார்க்கிறது மற்றும் சரியான டோக்கனை வழங்குகிறது. இந்த மட்டு அணுகுமுறை மறுபயன்பாட்டிற்கான குறியீட்டை ஒழுங்கமைப்பது மட்டுமல்லாமல், பல சூழல்களில் நம்பகத்தன்மைக்கு உத்தரவாதம் அளிக்கிறது. வெவ்வேறு உறுப்பினர்கள் முன்-இறுதி மற்றும் பின்-இறுதி ஒருங்கிணைப்பைக் கையாளும் குழுவில் பணிபுரிவதை கற்பனை செய்து பாருங்கள்-நன்கு கருத்து தெரிவிக்கப்பட்ட, இது போன்ற சோதனைக்குரிய ஸ்கிரிப்டுகள் ஒத்துழைப்பை கணிசமாக எளிதாக்குகின்றன. இந்த தீர்வுகள் செயல்திறன் மேம்படுத்தல் மற்றும் டெவலப்பர்-நட்பு நடைமுறைகள் இரண்டையும் உள்ளடக்கி, வலுவான மற்றும் அளவிடக்கூடிய அங்கீகார ஓட்டத்தை உறுதி செய்கிறது. 🌟

Android இல் Google உள்நுழைவு நற்சான்றிதழ் சிக்கல்களைத் தீர்க்கிறது

உகந்த மாடுலாரிட்டி மற்றும் கூகுள் நற்சான்றிதழ் மேலாளருடன் Kotlin ஐப் பயன்படுத்தி தீர்வு.

import android.content.Context
import androidx.credentials.CredentialManager
import androidx.credentials.GetCredentialRequest
import androidx.credentials.exceptions.GetCredentialException
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext

class GoogleSignInHelper(private val context: Context) {
    private val credentialManager: CredentialManager = CredentialManager.create(context)

    suspend fun getGoogleIdToken(serverClientId: String, rawNonce: String): String? {
        return withContext(Dispatchers.IO) {
            try {
                val hashedNonce = hashNonce(rawNonce)
                val googleIdOption = GetGoogleIdOption.Builder()
                    .setFilterByAuthorizedAccounts(false)
                    .setServerClientId(serverClientId)
                    .setNonce(hashedNonce)
                    .build()
                val request = GetCredentialRequest.Builder()
                    .addCredentialOption(googleIdOption)
                    .build()
                val result = credentialManager.getCredential(request, context)
                val googleIdTokenCredential = GoogleIdTokenCredential.createFrom(result.credential.data)
                googleIdTokenCredential.idToken
            } catch (e: GetCredentialException) {
                null
            }
        }
    }

    private fun hashNonce(rawNonce: String): String {
        val md = MessageDigest.getInstance("SHA-256")
        val digest = md.digest(rawNonce.toByteArray())
        return digest.fold("") { str, it -> str + "%02x".format(it) }
    }
}

Google Play சேவைகளுடன் இணக்கத்தன்மையை உறுதி செய்தல்

Kotlin ஐப் பயன்படுத்தி Google Play சேவைகளைச் சரிபார்த்து புதுப்பிப்பதற்கான தீர்வு.

import android.content.Context
import android.content.pm.PackageManager
import android.widget.Toast
import com.google.android.gms.common.ConnectionResult
import com.google.android.gms.common.GoogleApiAvailability

fun checkGooglePlayServices(context: Context): Boolean {
    val googleApiAvailability = GoogleApiAvailability.getInstance()
    val resultCode = googleApiAvailability.isGooglePlayServicesAvailable(context)
    return if (resultCode == ConnectionResult.SUCCESS) {
        true
    } else {
        if (googleApiAvailability.isUserResolvableError(resultCode)) {
            googleApiAvailability.getErrorDialog(context as Activity, resultCode, 2404)?.show()
        } else {
            Toast.makeText(context, "This device is not supported", Toast.LENGTH_LONG).show()
        }
        false
    }
}

Google உள்நுழைவு உதவிக்கான அலகு சோதனை

கூகுள் ஐடி டோக்கன் மீட்டெடுப்பைச் சரிபார்க்க யூனிட் சோதனை.

import kotlinx.coroutines.runBlocking
import org.junit.Assert
import org.junit.Test

class GoogleSignInHelperTest {

    @Test
    fun testGetGoogleIdToken() = runBlocking {
        val helper = GoogleSignInHelper(context)
        val rawNonce = "testNonce"
        val serverClientId = "your-server-client-id"
        val idToken = helper.getGoogleIdToken(serverClientId, rawNonce)
        Assert.assertNotNull("ID token should not be null", idToken)
    }
}

ஆண்ட்ராய்டு ஸ்டுடியோவில் உள்ள நற்சான்றிதழ் மேலாளர் சிக்கல்களைச் சரிசெய்தல்

உங்கள் Android பயன்பாட்டில் Google உள்நுழைவை ஒருங்கிணைக்கும்போது, ​​தவறான உள்ளமைவு அல்லது சூழல் அமைப்புகளின் காரணமாக நற்சான்றிதழ் மேலாளர் இல் சிக்கல்கள் ஏற்படலாம். கவனிக்கப்படாத ஒரு அம்சம், முன்மாதிரி சூழல் மற்றும் தேவையான Google Play சேவைகளுக்கு இடையே உள்ள இடைவினையாகும். எமுலேட்டரில் உள்ள Play சர்வீசஸ் பதிப்பு ஆப்ஸின் தேவையான பதிப்போடு பொருந்தவில்லை என்றால், நற்சான்றிதழ் மேலாளர் நற்சான்றிதழ்களைப் பெறத் தவறிவிடுவார், இது போன்ற பிழைகள் ஏற்படும் "getCredentialAsync வழங்குநர் சார்பு எதுவும் இல்லை". ஒரு நிஜ உலக உதாரணம் பழைய Play சேவைகளுடன் முன்பே நிறுவப்பட்ட முன்மாதிரியில் பிழைத்திருத்தம் ஆகும், இது API இன் தேவைகளைப் பூர்த்தி செய்யாது. 🌟

மற்றொரு பொதுவான கண்காணிப்பு Google Cloud Console இல் OAuth நற்சான்றிதழ்களின் தவறான அமைப்பாகும். குறியீட்டில் வழங்கப்பட்டுள்ள கிளையண்ட் ஐடி Firebaseல் உங்கள் பயன்பாட்டிற்கு அங்கீகரிக்கப்பட்ட நற்சான்றிதழ்களுடன் பொருந்த வேண்டும். பொருந்தாத உள்ளமைவுகள் பெரும்பாலும் டோக்கன் பாகுபடுத்தும் பிழைகள் அல்லது நற்சான்றிதழ்களை மீட்டெடுப்பதில் தோல்விகளுக்கு வழிவகுக்கும். பல திட்டங்களுடன் பணிபுரியும் போது மற்றும் கவனக்குறைவாக தவறான திட்ட அமைப்புகளைப் பயன்படுத்தும் போது டெவலப்பர்கள் இதை அடிக்கடி சந்திக்கின்றனர். ஃபயர்பேஸ், கூகுள் கிளவுட் கன்சோல் மற்றும் உங்கள் ஆப்ஸின் குறியீடு ஆகியவை ஒத்திசைக்கப்பட்டிருப்பதை உறுதிசெய்தால், பிழைகாணலில் மணிநேரம் சேமிக்க முடியும்.

கடைசியாக, Logcat போன்ற மேம்பட்ட பிழைத்திருத்தக் கருவிகள் நுட்பமான பிழைகளைக் கண்டறிவதற்கு இன்றியமையாததாக இருக்கும். பதிவுகளைக் கவனிப்பதன் மூலம், Play சேவைகள் அல்லது முறையற்ற கையாளுதலால் தோல்வியடைந்ததா என்பதை டெவலப்பர்கள் சுட்டிக்காட்டலாம். எடுத்துக்காட்டாக, மோசமாக ஹேஷ் செய்யப்பட்ட நன்ஸ் சரியானதாகத் தோன்றலாம் ஆனால் Google இன் API ஆல் நிராகரிக்கப்படும். இந்த பதிவுகளை எவ்வாறு விளக்குவது என்பதைப் புரிந்துகொள்வது பயனுள்ள பிழைத்திருத்தத்திற்கும் தடையற்ற பயனர் அங்கீகாரத்தை உறுதி செய்வதற்கும் முக்கியமானது. 💡

Google உள்நுழைவு மற்றும் நற்சான்றிதழ் மேலாளர் பற்றிய பொதுவான கேள்விகள்

  1. எமுலேட்டரில் Google Play சேவைகளை எவ்வாறு புதுப்பிப்பது?
  2. எமுலேட்டர் அமைப்புகளுக்குச் சென்று, புதுப்பிப்புகளைச் சரிபார்த்து அல்லது சமீபத்திய பதிப்பைப் பெற Android ஸ்டுடியோவில் SDK மேலாளரை இயக்குவதன் மூலம் Play சேவைகளைப் புதுப்பிக்கலாம்.
  3. "getCredentialAsync வழங்குநர் சார்ந்து இல்லை" என்பதன் அர்த்தம் என்ன?
  4. இந்த பிழையானது நற்சான்றிதழ் மேலாளரால் தேவையான சார்புகளைக் கண்டறிய முடியவில்லை, பெரும்பாலும் நூலகங்கள் அல்லது காலாவதியான Play சேவைகள் காரணமாக.
  5. எனது நோன்ஸ் சரியாக ஹாஷ் செய்யப்பட்டிருப்பதை நான் எப்படி உறுதி செய்வது?
  6. MessageDigest.getInstance("SHA-256") முறையைப் பயன்படுத்தவும் மற்றும் பதிவுகளில் அச்சிடுவதன் மூலம் அதன் வெளியீடு எதிர்பார்த்த வடிவத்துடன் பொருந்துகிறது என்பதை உறுதிப்படுத்தவும்.
  7. Google உள்நுழைவில் கிளையண்ட் ஐடியின் பங்கு என்ன?
  8. கிளையண்ட் ஐடி உங்கள் பயன்பாட்டை Google இன் அங்கீகார அமைப்புக்கு அடையாளப்படுத்துகிறது. சரியான ஐடியுடன் எப்போதும் setServerClientId(ClientID) செயல்பாட்டைப் பயன்படுத்தவும்.
  9. நற்சான்றிதழ் மேலாளர் இல்லாமல் Firebase அங்கீகாரத்தைப் பயன்படுத்தலாமா?
  10. ஆம், ஆனால் நற்சான்றிதழ் மேலாளர் டோக்கன்கள் மற்றும் நற்சான்றிதழ்களை நிர்வகிப்பதன் மூலம் செயல்முறையை எளிதாக்குகிறது, மேலும் இது மிகவும் திறமையான விருப்பமாக அமைகிறது.

அங்கீகார சவால்களை சமாளித்தல்

Google உள்நுழைவு பொத்தானை ஒருங்கிணைப்பது பயனர்களுக்கான அங்கீகாரத்தை நெறிப்படுத்தலாம் ஆனால் கவனமாக உள்ளமைவு தேவைப்படுகிறது. Play சேவைகளின் இணக்கத்தன்மை மற்றும் OAuth அமைவு போன்ற பொதுவான சிக்கல்களைத் தீர்ப்பதன் மூலம், நீங்கள் பிழைகளை திறம்பட தீர்க்க முடியும். சார்புகள் மற்றும் API களுக்கு இடையே உள்ள இடைவெளியைப் புரிந்துகொள்வது தடையற்ற செயல்பாட்டிற்கு முக்கியமாகும். 🌟

பிழைத்திருத்தத்திற்கான வலுவான அணுகுமுறை, அதாவது Logcat மற்றும் சோதனைச் சூழல்களை முழுமையாகச் சோதிப்பது போன்ற, டெவலப்பர்கள் நம்பகமான உள்நுழைவு செயல்முறையை உறுதிசெய்ய முடியும். இந்த முறை பிழைகளைத் தீர்ப்பது மட்டுமல்லாமல் செயல்திறனை மேம்படுத்துகிறது, பயனர் நட்பு அனுபவத்திற்கு வழி வகுக்கிறது. உங்கள் ஆப்ஸின் அங்கீகார ஓட்டம் பாதுகாப்பாகவும் திறமையாகவும் இருக்கும். 💡

குறிப்புகள் மற்றும் ஆதாரங்கள்
  1. Firebase உடன் Google உள்நுழைவை ஒருங்கிணைப்பது பற்றிய விவரங்களை அதிகாரப்பூர்வ ஆவணத்தில் காணலாம்: ஃபயர்பேஸ் அங்கீகார ஆவணம் .
  2. Android நற்சான்றிதழ் மேலாளர் API ஐப் பயன்படுத்துவதற்கான வழிகாட்டுதல் இங்கே கிடைக்கிறது: Android நற்சான்றிதழ் மேலாளர் வழிகாட்டி .
  3. Google Play சேவைகளின் பதிப்புச் சிக்கல்களைத் தீர்க்க, இதைப் பார்க்கவும்: Google Play உடன் Android முன்மாதிரி .
  4. பிழைத்திருத்த உதவிக்குறிப்புகள் மற்றும் எடுத்துக்காட்டுகள் நடைமுறை அனுபவம் மற்றும் ஆன்லைன் மன்றங்கள் மூலம் தெரிவிக்கப்பட்டது: ஸ்டாக் ஓவர்ஃப்ளோ ஆண்ட்ராய்டு மன்றம் .