Configure hardware acceleration for the Android Emulator

文章推薦指數: 80 %
投票人數:10人

Configure VM acceleration using Intel HAXM on Windows · Open the SDK Manager. · Click the SDK Update Sites tab and then select Intel HAXM. · Click ... Platform AndroidStudio GooglePlay Jetpack Kotlin Docs Games Language English BahasaIndonesia Español–AméricaLatina Português–Brasil 中文–简体 日本語 한국어 Signin AndroidStudio Download What'snew Userguide Preview Platform AndroidStudio Download What'snew Userguide Preview GooglePlay Jetpack Kotlin Docs Games MeetAndroidStudio OverviewInstallAndroidStudioMigratetoAndroidStudioConfiguretheIDEKeyboardshortcutsAccessibilityfeaturesUpdatetheIDEandtools Workflowbasics Manageyourproject OverviewCreateaprojectAboutPlayFeatureDelivery AddCandC++code OverviewInstallNDKandCMakeConfiguretheNDKforAGPConfigureCMakeLinkGradleCreateanAndroidlibrarySetupcontinuousintegration Writeyourapp OverviewAddcodefromatemplateFindsamplecodeAddamoduleforanewdeviceCreateaJavaclassortypeUseJava8languagefeaturesJava8languagesupporttableAddappresourcesBuildaUIwithLayoutEditorBuildanimationwithMotionEditorManageyourapp'sUIresourcesDesignappthemesAddmulti-densityvectorgraphicsCreateiconswithImageAssetStudioCreateresizablebitmaps(9-Patch)CreateWebPimagesLocalizetheUIAddAndroidapplinksConnecttoFirebaseImproveyourcodewithlintchecksImprovecodeinspectionwithannotationsToolsattributesreference Buildandrunyourapp Overview Runappsontheemulator OverviewCreateandmanagevirtualdevicesStarttheemulatorfromthecommandlineSendemulatorconsolecommandsSetupemulatornetworkingConfigurehardwareaccelerationEmulatorfeaturecomparisonTroubleshootemulator Runappsonahardwaredevice OverviewInstallOEMUSBdriversGettheGoogleUSBdriverCreaterun/debugconfigurationsBuildyourappfromthecommandline Configureyourbuild OverviewConfiguretheappmoduleAddbuilddependenciesConfigurebuildvariantsUsetheAndroidGradlepluginUpgradeAssistantGradletipsandrecipesMigratetoKotlinscript Optimizeyourbuildspeed OverviewTroubleshootbuildperformanceProfileyourbuildUsetheMavenPublishpluginManagemanifestfilesShrinkyourappEnablemultidexExtendtheAndroidGradlepluginIntegrateacustomC/C++buildsystem Debugyourapp OverviewConfiguredeveloperoptionsWriteandviewlogsAnalyzeastacktraceDebugyourlayoutwithLayoutInspectorInspectnetworktrafficwiththeNetworkInspectorDebugyourdatabasewiththeDatabaseInspectorDebugyourWorkManagerWorkerswithBackgroundTaskInspectorViewon-devicefilesDebugpre-builtAPKsTakeascreenshotRecordavideoCaptureandreadbugreportsAnalyzeyourbuildwithAPKAnalyzer Testyourapp OverviewTestinAndroidStudioTestfromthecommandlineAdvancedtestsetup Othertestingtools OverviewEspressoTestRecorderAppCrawlerMonkeytesting monkeyrunnerreference OverviewMonkeyDeviceMonkeyImageMonkeyRunner Profileyourapp Overview AndroidStudioprofilers Overview ProfileCPUactivity OverviewRecordtracesExporttracesImporttracesInspecttracesUIjankdetectionGeneratetracelogsbyinstrumentingyourappProfilememoryusageProfileenergyuseProfilewithpre-builtAPKs Benchmarkyourapp Overview Microbenchmark OverviewWritingabenchmarkProfilingabenchmarkInstrumentationargumentsBuildwithoutGradle Macrobenchmark WritingabenchmarkCapturethemetricsControlyourappInstrumentationargumentsContinuousIntegrationTrackandanalyzeperformanceImproveappperformanceusingBaselineProfiles Measureperformance OverviewExamples Publishyourapp OverviewPrepareforreleaseVersionyourappSignyourappUploadyourapp Publishyourlibrary OverviewPrepareforreleaseConfigurepublicationvariantsConfiguretestfixturesforpublicationUploadyourlibrary Commandlinetools Overviewaapt2adbapkanalyzerapksigneravdmanagerbmgrbundletoold8dmtracedumpdumpsysetc1tooljobbjetifier-standalonelogcatmksdcardretracesdkmanagersystraceperfettozipalignEnvironmentvariables Troubleshoot Knownissues Reportabug AndroidDevelopers AndroidStudio Userguide ConfigurehardwareaccelerationfortheAndroidEmulator TheAndroidEmulatorcanusehardwareacceleration featurestoimproveperformance,sometimesdrastically.Thispagedescribeshow youcanconfiguregraphicsandvirtualmachine(VM)accelerationtogethigher performancefromtheemulator. Configuregraphicsacceleration Graphicsaccelerationusesyourcomputer'shardware(typicallytheGPU)tomake screenrenderingfaster.AndroiddevicesuseOpenGLforEmbeddedSystems (OpenGLESorGLES)forrenderingboth2Dand 3Dgraphicsonthescreen. WhenyoucreateanAndroidVirtualDevice(AVD)intheAVDManager,youcan specifywhethertheemulatorshouldusehardwareorsoftwaretoemulate theGPUoftheAVD.Hardwareaccelerationisrecommendedandistypically faster.However,youmightneedtousesoftwareaccelerationifyourcomputer usesgraphicsdriversthataren'tcompatiblewiththeemulator. Bydefault,theemulatordecideswhethertousehardwareorsoftware graphicsaccelerationbasedonyourcomputersetup.IfyourGPUhardwareand driversarecompatible,theemulatorusestheGPU.Otherwise,theemulator usessoftwareacceleration(usingyourcomputer'sCPU)tosimulateGPU processing. Ifyoustarttheemulatorfromthe commandline,youcanalsooverride thegraphicsaccelerationsettingintheAVDforthatvirtualdeviceinstance. Requirements Tousegraphicsacceleration,yourdevelopmentenvironmentmustmeetthe followingrequirements: SDKTools:Latestreleaserecommended(version17minimum) SDKPlatform:Latestreleaserecommended(Android4.0.3,Revision3,minimum) ConfiguregraphicsaccelerationintheAVDManager ToconfiguregraphicsaccelerationforanAVD,followthesesteps: OpentheAVDManager. CreateanewAVDor editanexistingAVD. OntheVerifyConfiguration page,findtheEmulatedPerformancesection. SelectavaluefortheGraphics:option. ClickFinish. Configuregraphicsaccelerationfromthecommandline TospecifyagraphicsaccelerationtypewhenyourunanAVDfromthecommand line,includethe-gpuoption,asshowninthefollowingexample: emulator-avdavd_name-gpumode[{-option[value]}...] Thevalueofmodecanbesettooneofthefollowingoptions: auto:Lettheemulatorchoosebetweenhardwareorsoftwaregraphics accelerationbasedonyourcomputersetup. host:UsetheGPUonyourcomputerforhardwareacceleration.Thisoption typicallyprovidesthehighestgraphicsqualityandperformanceforthe emulator.However,ifyourgraphicsdrivershaveissuesrenderingOpenGL,you mightneedtousetheswiftshader_indirectorangle_indirectoptions. swiftshader_indirect:UseaQuickBoot-compatiblevariantofSwiftShader torendergraphicsusingsoftwareacceleration.Thisoptionisagood alternativetohostmodeifyourcomputercan'tusehardwareacceleration. angle_indirect:(Windowsonly)UseaQuickBoot-compatiblevariantofANGLEDirect3D torendergraphicsusingsoftwareacceleration.Thisoptionisagood alternativetohostmodeifyourcomputercan'tusehardwareacceleration. Inmostcases,ANGLEperformanceshouldbesimilartousinghostmode becauseANGLEusesMicrosoftDirectXinsteadofOpenGL.OnWindows,Microsoft DirectXdriverstypicallyhavefewerissuesthanOpenGLdrivers.Thisoption usesDirect3D11andrequiresWindows10,Windows8.1,orWindows7SP1with theWindows7PlatformUpdate. guest:Useguest-sidesoftwarerendering.Thisoptionprovidesthelowest graphicsqualityandperformancefortheemulator. Note:Ifyouenableagraphicsaccelerationoptionthatyourcomputerdoesn't support,youarelikelytoseeincorrectimagesdisplayedduringemulation. Thefollowingmodeoptionsaredeprecated: swiftshader:Deprecatedinversion27.0.2Useswiftshader_indirectinstead. angle:Deprecatedinversion27.0.2.Useangle_indirectinstead(Windowsonly). mesa:Deprecatedinversion25.3.Useswiftshader_indirectinstead. EnableSkiarenderingforAndroidUI WhenusingimagesforAPIlevel27orhigher,theemulatorcanrenderthe AndroidUIwithSkia.Skiahelpsthe emulatorrendergraphicsmoresmoothlyandefficiently. ToenableSkiarendering,usethefollowingcommandsinadbshell: su setpropdebug.hwui.rendererskiagl stop start ConfiguringVMacceleration VMaccelerationusesyourcomputer'sprocessortosignificantlyimprovethe executionspeedoftheemulator.Atoolcalledahypervisormanagesthis interactionusingvirtualizationextensionsthatyourcomputer'sprocessor provides.ThissectionoutlinestherequirementsforusingVMaccelerationand describeshowtosetupVMaccelerationoneachoperatingsystem. Generalrequirements TouseVMaccelerationwiththeemulator,yourcomputermustmeetthegeneral requirementsinthissection.Yourcomputeralsoneedstomeetother requirementsthatarespecifictoyouroperatingsystem. Developmentenvironmentrequirements TouseVMacceleration,yourdevelopmentenvironmentmustmeetthe followingrequirements: SDKTools:minimumversion17;recommendedversion26.1.1orlater AVDwithanx86-basedsystemimage,availableforAndroid2.3.3(APIlevel10) andhigher Warning:AVDsthatuseARM-orMIPS-basedsystemimagescan'tusetheVM accelerationthatisdescribedonthispage. Virtualizationextensionrequirements Inadditiontothedevelopmentenvironmentrequirements,yourcomputer's processormustsupportoneofthefollowingvirtualizationextensions technologies: IntelVirtualizationTechnology(VT,VT-x,vmx)extensions AMDVirtualization(AMD-V,SVM)extensions Mostmodernprocessorssupportthesevirtualizationextensions.Ifyou'renot surewhetheryourprocessorsupportstheseextensions,checkthespecifications foryourprocessoronthemanufacturer'ssite.Ifyourprocessordoesn'tsupport oneoftheseextensions,thenyoucan'tuseVMacceleration. Note:VirtualizationextensionsaretypicallyenabledthroughyourcomputerBIOS andarefrequentlyturnedoffbydefault.Checkthedocumentationforyour motherboardtofindouthowtoenablevirtualizationextensions. Restrictions VMaccelerationhasthefollowingrestrictions: Youcan'trunaVM-acceleratedemulatorinsideanotherVM,suchasaVMhosted byVirtualBox,VMWare,orDocker.YoumustrunaVM-acceleratedemulator directlyonyourhostcomputer. Dependingonyouroperatingsystemandhypervisor,youcan'trunsoftwarethat usesanothervirtualizationtechnologyatthesametimethatyouruna VM-acceleratedemulator.Forexample,VirtualBox,VMWare,andDockercurrently useadifferentvirtualizationtechnology,soyoucan'trunthematthesame timeastheacceleratedemulator. Abouthypervisors VMaccelerationrequiresahypervisor. WithoutahypervisorandVMacceleration,theemulatormusttranslatethe machinecodefromtheVMblockbyblocktoconformtothearchitectureofthe hostcomputer.Thisprocesscanbequiteslow.Withahypervisor,theVMand thearchitectureofthehostcomputermatch,sotheemulatorcanruncode directlyonthehostprocessorusingthehypervisor.Thisimprovement drasticallyincreasesboththespeedandperformanceoftheemulator. Thehypervisorthatwillworkbestforyoudependsonyourcomputer'soperating systemandconfiguration.Formoreinformation,seeoneofthefollowing sections: ConfigureVMaccelerationonWindows ConfigureVMaccelerationonmacOS ConfigureVMaccelerationonLinux Checkifahypervisorisinstalled Youcanusetheemulator-accel-checkcommand-lineoptiontocheckif ahypervisoriscurrentlyinstalledonyourcomputer. Thefollowingexamplesshowhowtousetheemulatoraccel-checkoption.In eachexample,SdkisthelocationoftheAndroidSDK: Windows: c:\Users\janedoe\AppData\Local\Android>Sdk\emulator\emulator-accel-check accel: 0 HAXMversion7.3.2(4)isinstalledandusable. accel macOS: janedoe-macbookpro:Androidjanedoe$./Sdk/emulator/emulator-accel-check accel: 0 HAXMversion7.3.2(4)isinstalledandusable. accel Linux: janedoe:~/Android$./Sdk/emulator/emulator-accel-check accel: 0 KVM(version12)isinstalledandusable. ConfigureVMaccelerationonWindows VMaccelerationonWindowscanuseoneofthreehypervisors:theIntelHardware AcceleratedExecutionManager(HAXM),theAndroidEmulatorHypervisorDriverfor AMDProcessorsortheWindowsHypervisorPlatform(WHPX). ChooseahypervisoronWindows Usethefollowingcriteriatodeterminewhichhypervisoryoushoulduse: Criteria Hypervisor YouhaveanIntelprocessoranddonotneedtorunHyper-VatthesametimeastheAndroidEmulator. UseIntelHAXM. YouhaveanIntelprocessoranddoneedtorunHyper-VatthesametimeastheAndroidEmulator. UseWHPX. YouhaveanAMDprocessoranddonotneedtorunHyper-VatthesametimeastheAndroidEmulator. UseAndroidEmulatorHypervisorDriverforAMDProcessors. YouhaveanAMDprocessoranddoneedtorunHyper-VatthesametimeastheAndroidEmulator. UseWHPX. Double-checkwhendisablingHyper-V Hyper-VmustbedisabledtouseIntelHAXMortheAndroidEmulatorHypervisorDriver forAMDProcessors.However,unchecking"Hyper-V"inWindowsFeaturesDialog mightnotguaranteethatHyper-Visdisabled.QuiteafewfeaturesinWindows10 willenableHyper-Vimplicitly.UsersmaynotevenknowHyper-Visactivatedwhen theyenableoneofthesefeatures. Toourbestknowledge,theseincludesVirtualMachinePlatform,Windows HypervisorPlatform,WindowsSandbox,CoreIsolation, CredentialGuard.Additionally,WindowsSubsystemforLinuxversion2requires VirtualMachinePlatform,meaningthatitimplicitlyrequiresHyper-V. Thislistisnotexhaustive,pleasenotifyusonourbugtrackerifyoufindan itemthatshouldbeincludedhere. Double-checkthatthefeatureslistedabovearealsodisabledwhendisabling Hyper-V.ReferenceMicrosoftdocumentationandtheexamplesbelowtofindout howeachindividualfeaturecanbedisabled. SomeplatformsfailtoimmediatelydisableHyper-Vwhenitisswitchedoff.When thisoccurs,thereisnoerrorreturnedbytheWindowsOSandHyper-Vappears disabledintheWindowsFeaturesDialog.PleasefileabugonMicrosoft'sissue trackerwhenthisoccurs. ConfigureVMaccelerationusingIntelHAXMonWindows BeforeyoucaninstallanduseIntelHAXM,yourcomputermustmeetthefollowing requirements: IntelprocessorwithVirtualizationTechnology(VT-x),IntelEM64T (Intel64)features,andExecuteDisable(XD)Bitfunctionalityenabled 64-bitWindows10,Windows8,orWindows7(or32-bitversionoftheoperating systemona64-bitprocessor) TouseIntelHAXMonWindows10or8,youmustturnoffHyper-VintheWindows FeaturesDialog. Note:InstallingcertainsoftwaremightturnHyper-Vbackon.Referto DisablingHyper-Vformoredetails. ToinstalltheIntelHAXMdriver,followthesesteps: OpentheSDKManager. ClicktheSDKUpdateSitestabandthenselectIntelHAXM. ClickOK. Afterthedownloadfinishes,runtheinstaller. Typically,youcanfindtheinstallerinthefollowinglocation: sdk\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm-android.exe Usethewizardtocompletetheinstallation. AfterinstallingIntelHAXM,confirmthatthevirtualizationdriveris operatingcorrectlybyenteringthefollowingcommandinaCommandPrompt window: scqueryintelhaxm Youshouldseeastatusmessagethatincludesthefollowinginformation: SERVICE_NAME:intelhaxm ... STATE:4RUNNING ... Formoreinformation,see InstallationInstructionsforIntelHAXMonWindows. YoucanadjusttheamountofmemoryavailabletotheIntelHAXMkernel extensionbyrunningtheinstalleragain. YoucanuninstallIntelHAXMusingeithertheinstallerortheWindowsControl Panel.BeforeyouuninstallIntelHAXM,shutdownanyx86emulatorsthatare currentlyrunning. ConfigureVMaccelerationusingAndroidEmulatorHypervisorDriverforAMDProcessorsonWindows BeforeyoucaninstallandusetheAndroidEmulatorHypervisorDriverforAMD Processors,yourcomputermustmeetthefollowingrequirements: AMDprocessorwithSecureVirtualMachine(SVM)Technology 64-bitWindows10,Windows8,orWindows7(32-bitWindowsisnotsupported) TouseAndroidEmulatorHypervisorDriverforAMDProcessorsonWindows10or8, youmustturnoffHyper-VintheWindowsFeauresDialog. Note:InstallingcertainsoftwaremightturnHyper-Vbackon.Referto DisablingHyper-Vformoredetails. TheAndroidEmulatorHypervisorDriverforAMDProcessorscanbeinstalledvia theSDKManagerinAndroidStudio4.0Canary 5orlater,orfromGithub(seebelow).Toinstallfromthe SDKManager,followthesesteps: OpenTools->SDKManager. ClicktheSDKToolstabandthenselectAndroidEmulatorHypervisor DriverforAMDProcessors. ClickOKtodownloadandinstalltheAndroidEmulatorHypervisorDriver forAMDprocessors. Afterinstallation,confirmthatthedriverisoperatingcorrectlybyentering thefollowingcommandinaCommandPromptwindow: scquerygvm Youshouldseeastatusmessagethatincludesthefollowinginformation: SERVICE_NAME:gvm ... STATE:4RUNNING ... ThefollowingerrormessagemeanseitherthatSVMisnotenabledinyourBIOS orthatHyper-Visnotdisabled(RefertoDisableHyper-V). SERVICE_NAME:gvm ... STATE:1STOPPED WIN32_EXIT_CODE:4294967201(0xffffffa1) ... TheAndroidEmulatorHypervisorDriverforAMDProcessorscanalsobedownloaded andinstalledfromgithub. Afterunpackingthedriverpackage,run"silent_install.bat"inaCommandPrompt withAdministratorprivileges.Successfullycompletinganewinstallationwould havethefollowingoutput: Upgradinganinstallationwouldresultinthefollowingoutput,whichincludes messagesregardingtheolddriver'suninstallation: YoucanuninstallAndroidEmulatorHypervisorDriverforAMDProcessorsusingthe followingcommandsinaCommandPromptwithAdministratorprivileges. scstopgvm scdeletegvm Note:Shutdownanyx86emulatorsbeforeuninstallingtheAndroidEmulator HypervisorDriverforAMDProcessors. ConfigureVMaccelerationusingWindowsHypervisorPlatform BeforeyoucanenableWHPX,yourcomputermustmeetthefollowingrequirements: Intelprocessors:SupportforVirtualizationTechnology(VT-x),ExtendedPage Tables(EPT),andUnrestrictedGuest(UG)features.VT-xmustbeenabledinyour computer'sBIOSsettings. AMDprocessors:AMDRyzenprocessorrecommended.VirtualizationorSVMmust beenabledinyourcomputer'sBIOSsettings. AndroidStudio3.2Beta1orhigher(downloadfromdeveloper.android.com) AndroidEmulatorversion27.3.8orhigher(downloadusingtheSDKManager) Windows10withApril2018Updateorhigher ToinstallWHPXonWindows,followthesesteps: FromtheWindowsdesktop,right-clicktheWindowsiconandselect Appsandfeatures. UnderRelatedsettings,clickProgramsandFeatures. ClickTurnsWindowsFeaturesonoroff. SelectWindowsHypervisorPlatform ClickOK. Oncetheinstallationhasfinished,restartyourcomputer. ConfigureVMaccelerationonmacOS OnMacOSXv10.10Yosemiteandhigher,theAndroidEmulatorusesthebuilt-in Hypervisor.Framework bydefault,andfallsbacktousingIntelHAXMifHypervisor.Frameworkfails toinitialize. TouseVMaccelerationonmacOSwhentheHypervisor.Frameworkisnotavailable, youmustinstalltheIntelHAXMkernelextension. Note:ForusersofmacOS10.13HighSierraandhigher:macOS10.13disables installationofkernelextensionsbydefault.BecauseIntelHAXMisakernel extension,youmightneedtomanuallyenableitsinstallation.Formoredetails, seeKnownIssues. ToinstalltheIntelHAXMkernelextension,followthesesteps: OpentheSDKManager. ClicktheSDKUpdateSitestabandthenselectIntelHAXM. ClickOK. Afterthedownloadfinishes,runtheinstaller. Typically,youcanfindtheinstallerinthefollowinglocation: sdk/extras/intel/Hardware_Accelerated_ExecutionManager/IntelHAXMversion.dmg Followtheon-screeninstructionstocompletetheinstallation. Afterinstallationfinishes,confirmthatthenewkernelextensionis operatingcorrectlybyopeningaterminalwindowandrunningthefollowing command: kextstat|grepintel Youshouldseeastatusmessagecontainingthefollowingextensionname, indicatingthatthekernelextensionisloaded: com.intel.kext.intelhaxm Formoreinformation,see InstallationInstructionsforIntelHAXM. YoucanadjusttheamountofmemoryavailabletotheIntelHAXMkernel extensionbyrunningtheinstalleragain. YoucanstopusingtheIntelHAXMkernelextensionbyuninstallingit.Before youuninstallit,shutdownanyx86emulatorsthatarecurrentlyrunning,then runthefollowingcommandinaterminalwindow: sudo/System/Library/Extensions/intelhaxm.kext/Contents/Resources/uninstall.sh ConfigureVMaccelerationonLinux Linux-basedsystemssupportVMaccelerationthroughtheKVMsoftwarepackage. FollowtheinstructionsforinstallingKVMonyourLinuxsystem,andverify thatKVMisenabled.ForUbuntusystems,seeUbuntuKVMInstallation. Requirements RunningKVMrequiresspecificuserpermissions.Makesurethatyouhave sufficientpermissionsasspecifiedintheKVMinstallationinstructions. TouseVMaccelerationonLinux,yourcomputermustalsomeetthese requirements: ForIntelprocessors:SupportforVirtualizationTechnology(VT-x),Intel EM64T(Intel64)features,andExecuteDisable(XD)Bitfunctionalityenabled. ForAMDprocessors:SupportforAMDVirtualization(AMD-V). CheckwhetherKVMiscurrentlyinstalledonLinux Youcanusetheemulator-accel-check command-lineoptiontocheckwhetheryouhaveKVMinstalled.Alternatively, youcaninstallthecpu-checkerpackagecontainingthekvm-okcommand. Thefollowingexampleshowshowtousethekvm-okcommand. Installthecpu-checkerpackage: $sudoapt-getinstallcpu-checker $egrep-c'(vmx|svm)'/proc/cpuinfo Anoutputof1orgreatermeansthatvirtualizationissupported.Anoutputof 0meansthatyourCPUdoesn'tsupporthardwarevirtualization. Runthekvm-okcommand: $kvm-ok Expectedoutput: INFO:/dev/kvmexists KVMaccelerationcanbeused Ifyougetthefollowingerror,itmeansthatyoucanstillrunvirtual machines.YourvirtualmachinewillbeslowerwithouttheKVMextensions. INFO:YourCPUdoesnotsupportKVMextensions KVMaccelerationcanNOTbeused InstallKVMonLinux UsethefollowingcommandtoinstallKVM: Cosmic(18.10)orlater sudoapt-getinstallqemu-kvmlibvirt-daemon-systemlibvirt-clientsbridge-utils Lucid(10.04)orlater sudoapt-getinstallqemu-kvmlibvirt-binubuntu-vm-builderbridge-utils Karmic(9.10)orearlier sudoaptitudeinstallkvmlibvirt-binubuntu-vm-builderbridge-utils ContentandcodesamplesonthispagearesubjecttothelicensesdescribedintheContentLicense.JavaandOpenJDKaretrademarksorregisteredtrademarksofOracleand/oritsaffiliates. Lastupdated2021-09-14UTC. [{ "type":"thumb-down", "id":"missingTheInformationINeed", "label":"MissingtheinformationIneed" },{ "type":"thumb-down", "id":"tooComplicatedTooManySteps", "label":"Toocomplicated/toomanysteps" },{ "type":"thumb-down", "id":"outOfDate", "label":"Outofdate" },{ "type":"thumb-down", "id":"samplesCodeIssue", "label":"Samples/codeissue" },{ "type":"thumb-down", "id":"otherDown", "label":"Other" }] [{ "type":"thumb-up", "id":"easyToUnderstand", "label":"Easytounderstand" },{ "type":"thumb-up", "id":"solvedMyProblem", "label":"Solvedmyproblem" },{ "type":"thumb-up", "id":"otherUp", "label":"Other" }] Twitter Follow@AndroidDevonTwitter YouTube CheckoutAndroidDevelopersonYouTube LinkedIn ConnectwiththeAndroidDeveloperscommunityonLinkedIn MoreAndroid Android AndroidforEnterprise Security Source News Blog Podcasts Discover Gaming MachineLearning Privacy 5G AndroidDevices Largescreens WearOS AndroidTV Androidforcars AndroidThings ChromeOSdevices Releases Android11 Android10 Pie Oreo Nougat Marshmallow Lollipop KitKat DocumentationandDownloads AndroidStudioguide Developersguides APIreference DownloadStudio AndroidNDK Support Reportplatformbug Reportdocumentationbug GooglePlaysupport Joinresearchstudies Android Chrome Firebase GoogleCloudPlatform Allproducts Privacy License Brandguidelines Getnewsandtipsbyemail Subscribe Language English BahasaIndonesia Español–AméricaLatina Português–Brasil 中文–简体 日本語 한국어



請為這篇文章評分?