title: Why install Android LatinIME gets Failure [INSTALL_FAILED_OLDER_SDK]
body: <p>I had download and compiled the source code from GIT, and also successfully runs the emulator compiled along with the code.</p>
  
  <p>Then I managed to use <code>mmm android/packages/inputmethods/LationIME</code>  to complie the LatinIME,<br>
  and use <code>adb install -r android/out/target/product/generic/system/app/LatinIME.apk</code> and it installed well.</p>
  
  <p>But this only works with the AVD I compiled myself, when I tried to install the <code>LatinIME.apk</code> copied form <code>android/out/target/product/generic/system/app/</code> to another emulator or a real phone by the same command: <code>adb install -r LatinIME.apk</code>, I get the message:   </p>
  
  <p><code>165 KB/s (568039 bytes in 3.343s)<br>
       pkg: /data/local/tmp/LatinIME.apk<br>
  Failure [INSTALL_FAILED_OLDER_SDK]</code></p>
  
  <p>I've Googled a lot and tried what they had say:  </p>
  
  <ul>
  <li><p>Add the line <code>&lt;uses-sdk android:MinSdkVersion="3"&gt;</code> in the file `LatinIME/AndroidManifest.xml'  </p></li>
  <li><p>Modify the <code>android/build/core/version_defaults.mk</code>, change the line <code>DEFAULT_APP_TARGET_SDK := $(PLATFORM_SDK_VERSION)</code> to <code>DEFAULT_APP_TARGET_SDK := 8</code>  </p></li>
  <li><p>I even re-downloaded the source code, the first time I downloaded was the default latest version with API level 10, the second time I download the code of API level 9, both can't complie an pak that can be installed in other emulators on API level 8 or 9 or 10.  </p></li>
  </ul>
  
  <p>I thought it might because that the SDK I complied is <code>AOSP</code> version so it can't be installed in 
  official released SDK? I'm not very clear with the difference.</p>
  
  <p>Anyone having the source code please try <code>mmm android/packages/inputmethods/LationIME</code> and see if the generated apk can be installed in official SDK version?</p>