编译源码时出现 Checking API: checkapi-last (unknown): error 17解决方法

原文地址::http://www.eoeandroid.com/thread-84145-1-1.html

相关网帖
1.关于android中的checkapi----http://blog.sina.com.cn/s/blog_55b1b0d50100jlge.html
2.在Ubuntu上编译CyanogenMod 2.3 generic----http://www.linuxidc.com/Linux/2012-01/50984.htm



log:

Copy: apicheck (out/host/linux-x86/obj/EXECUTABLES/apicheck_intermediates/apicheck)
Install: out/host/linux-x86/bin/apicheck
Checking API: checkapi-last
(unknown): error 17: Field android.app.Notification.FLAG_SHOW_LIGHTS has changed value from 1 to 0

******************************
You have tried to change the API from what has been previously released in
an SDK.Please fix the errors listed above.
******************************


make[1]: *** [out/target/common/obj/PACKAGING/checkapi-last-timestamp] Error 38
make[1]: Leaving directory `/home1/work/android_eRD4.2/src'
make: *** [compile] Error 2


//----------------------------------------------------

这是因为修改了framework层里的东西,而且在全编译make源码之前,用了make update-api命令,导致 源码之前的api 与你自己新的源码里的值不一样导致。

解决办法:

自己找到了在framework/base/api 下有 n (n取决于你源码的版本,如果你源码的版本是4.2,其api level就是17,那么就看17.xml或者17.txt ,修改这个里面的值即可 )个xml文档,分别对应android api 的不同版本。 在这些xml中,把你在framework层中修改的地方对应进去。 如我这个错误的地方,在8.xml 和 current.xml 中找到“FLAG_SHOW_LIGHTS”,把里面的value 值改成和你代码中值一致就可以了。

//-----------------------------------------------------

是在make全编译之前忘记make update-api 导致的这个问题。解决办法有2:1、make clean--> make update-api --make ; 2、要么手动添加相应版本的api值,使编译通过。


参考:

https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels

Platform Version API Level VERSION_CODE Notes
Android 4.2, 4.2.2 17 JELLY_BEAN_MR1 Platform Highlights
Android 4.1, 4.1.1 16 JELLY_BEAN Platform Highlights
Android 4.0.3, 4.0.4 15 ICE_CREAM_SANDWICH_MR1 Platform Highlights
Android 4.0, 4.0.1, 4.0.2 14 ICE_CREAM_SANDWICH
Android 3.2 13 HONEYCOMB_MR2
Android 3.1.x 12 HONEYCOMB_MR1 Platform Highlights
Android 3.0.x 11 HONEYCOMB Platform Highlights
Android 2.3.4
Android 2.3.3
10 GINGERBREAD_MR1 Platform Highlights
Android 2.3.2
Android 2.3.1
Android 2.3
9 GINGERBREAD
Android 2.2.x 8 FROYO Platform Highlights
Android 2.1.x 7 ECLAIR_MR1 Platform Highlights
Android 2.0.1 6 ECLAIR_0_1
Android 2.0 5 ECLAIR
Android 1.6 4 DONUT Platform Highlights
Android 1.5 3 CUPCAKE Platform Highlights
Android 1.1 2 BASE_1_1
Android 1.0 1 BASE



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值