我从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(3.343s中568039字节)
pkg:/data/local/tmp/LatinIME.apk
失败[INSTALL_Failed_OLDER_SDK]
我用Google搜索了很多东西并尝试了他们所说的话:
>添加行< 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版本中?
然而,我搜索了整个互联网,可以找到答案,但幸运的是我看到了这个:
version_defaults.mk of API Key 7
我只是在我下载的代码树中替换了android / build / core / version_defaults.mk并重新编译了模块,它运行了!
以为我不知道它是否会在源代码中运行所有模块,但是我的IME运行良好.