问题描述
Android P源码环境下AOSP源码以及编译完成,但是引入第三方jar包之后,编译报“ Invalid value for MonthOfYear (valid values 1 - 12): 0 ” 错误。
异常信息.jpg问题原因
第三方提供的jar包编译环境与系统不一致。详见1.统一编译环境
解决办法
确认如下环境是否一致:
- java环境:java -version
- javac环境:javac -version
环境配置
# 下载对应版本
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk
# 版本之间切换
sudo update-alternatives --config java
sudo update-alternatives --config javac
# 确定ubuntu版本信息
cat /proc/version
如果环境一致了还是不好使,那么必须将模块代码放入源码编译!!!!
开始项目代码是用Android Studio开发的,打jar包也是用AS来构建的,随便怎么配置,随便怎么对环境,打出来的jar包在Android Q源码里都会报"DateTimeException"。其他版本的源码不报这个异常。
所以真正解决这个问题的办法只有将代码移入到Android Q源码中,写一个Android.mk脚本来编译就可以了。
编译成功.png
网友评论