title: Change device language on Android 6.0 (Android M)
body: <p>There are applications to change Android device language (locale) via an ADB command. This has required granting the CHANGE_CONFIGURATION permission for the app before language can be changed.</p>
  
  <p>On Android 6.0 (API level 23, Nexus 6 device), however, granting the required permission is no longer allowed, since the command <code>adb shell pm grant net.sanapeli.adbchangelanguage android.permission.CHANGE_CONFIGURATION</code> (package name from <a href="https://play.google.com/store/apps/details?id=net.sanapeli.adbchangelanguage" rel="nofollow noreferrer">ADB Change Language app</a> as an example) yields</p>
  
  <blockquote>
    <p>Operation not allowed: java.lang.SecurityException: Permission android.permission.CHANGE_CONFIGURATION is not a changeable permission type</p>
  </blockquote>
  
  <p>How can you change the language/locale on Android OS version 6.0 <em>without rooting the device</em>? Can this be done with a helper app, or a direct ADB command, or by launching some intent vai ADB?</p>
  
  <p>Related question from 2010: <a href="https://stackoverflow.com/questions/2900023/change-language-programatically-in-android">Change language programmatically in Android</a></p>