Android5.1.1编译出错 make[1]: *** [out/target/common/obj/PACKAGING/checksystemapi-last-timestamp]错误:38

在源码frameworks/base/core/java/android/net/ConnectivityManager.java 文件中将

public static final int DEFAULT_NETWORK_PREFERENCE = TYPE_WIFI; 

的值换成 TYPE_ETHERNET

然后重新编译就编译不过,报[out/target/common/obj/PACKAGING/checksystemapi-last-timestamp] 错误 38



解决方法:搜索了网上很多方法,发现都解决不了。

  1.     make update-api

make -j8
失败
2. make clean
make update-api
make -j8
失败
3. 原因是由于修改了framework层中的代码,导致跟默认api不对,才编译不过,但是make update-api 也修改不过来有些值,需要手动去修改对应api level中的值,在framework下有不同版本源码对应的api文件,不同版本的源码可能路径不太一样,我的是Android 5.1.1 对应的api level 为22,因此可以在源码下搜索 22.txt。
android/prebuilts/sdk/system-api/22.txt. 修改22.txt文件中DEFAULT_NETWORK_PREFERENCE的值跟你代码中的值一直,然后再去编译即可。

较早的源码版本对应的api level在 /android/prebuilts/sdk/api 目录下,有

10.xml 11.xml 12.xml 13.xml 14.txt 15.txt 16.txt 17.txt 18.txt 19.txt 1.xml 20.txt 21.txt 22.txt 2.xml 3.xml 4.xml 5.xml 6.xml 7.xml 8.xml 9.xml 这些文件。至于哪个文件对应哪个版本的android源码,可以去搜索api level。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值