5

我已经从 GIT 下载并编译了源代码,并且还成功运行了与代码一起编译的模拟器。

然后我设法使用mmm android/packages/inputmethods/LationIME 来编译LatinIME,
并使用adb install -r android/out/target/product/generic/system/app/LatinIME.apk它并安装得很好。

但这仅适用于我自己编译的 AVD,当我尝试通过相同的命令将LatinIME.apk复制的表单安装android/out/target/product/generic/system/app/到另一个模拟器或真实手机时:adb install -r LatinIME.apk,我收到消息:

165 KB/s (568039 bytes in 3.343s)
pkg: /data/local/tmp/LatinIME.apk
Failure [INSTALL_FAILED_OLDER_SDK]

我用谷歌搜索了很多,并尝试了他们所说的:

  • <uses-sdk android:MinSdkVersion="3">在文件 `LatinIME/AndroidManifest.xml' 中 添加该行

  • 修改android/build/core/version_defaults.mk, 将行DEFAULT_APP_TARGET_SDK := $(PLATFORM_SDK_VERSION)改为DEFAULT_APP_TARGET_SDK := 8

  • 我什至重新下载了源代码,第一次下载的是默认最新版本API级别10,第二次下载API级别9的代码,都无法编译可以安装在其他模拟器中的pak API 级别 8 或 9 或 10。

我想可能是因为我编译的SDK是AOSP版本所以它不能安装在官方发布的SDK中?我不是很清楚的区别。

有源码的朋友试试看mmm android/packages/inputmethods/LationIME生成的apk能不能安装到官方SDK版本?

4

1 回答 1

4

好的,我又在回答我自己的问题了,我不明白为什么我的问题总是很少有人回答。

但是我搜索了整个互联网并找到了答案,但幸运的是我看到了这个:

API Key 7 的 version_defaults.mk

I simply replaced the android/build/core/version_defaults.mk in my downloaded code tree and re-compiled the module, and it worked!

Thought I don't know if it will work all modules in the source code, but however my IME works good.

于 2011-05-31T11:04:07.250 回答