Android修改标准键值后编译错误

问题背景:

在工作中遇到一个问题,需要在KeyEvent.java新增一个键值148,作删除键用,于是打算将Android原有148键KEYCODE_NUMPAD_4修改为一个其他的键值。将KEYCODE_NUMPAD_4的Keycode修改为1480后make update-api后编译还是会出现错误:

out/target/common/obj/PACKAGING/public_api.txt:27490: error 17: Field android.view.KeyEvent.KEYCODE_POUND has changed value from 148 to 1480
******************************
You have tried to change the API from what has been previously released in
an SDK.  Please fix the errors listed above.
******************************

问题原因:

用make update-api后会修改framework/base/api/current.txt文件的对应键值,但是由于此键值与prebuilts/sdk/api/目录下的api有冲突,所以会导致编译失败。

解决办法:

在prebuilts/sdk/api目录下找到自己Android版本对应的api level的接口,修改对应的冲突键值,然后重新编译系统即可。(比如说我用的是4.4.2kitkat版本,我将prebuilts/sdk/api/19.txt对应的KEYCODE_NUMPAD_4值修改为1480)

猜你喜欢

转载自blog.csdn.net/email_jade/article/details/53666828
今日推荐