最近在下載高通開發平臺的代碼的時候,下過來的原始代碼,我們做building,一開始building就發現building不下去,報錯如下:
ninja: error: 'out/target/product/msm8953_64/obj_arm/SHARED_LIBRARIES/libqct_resampler_intermediates/export_includes',
needed by 'out/target/product/msm8953_64/obj_arm/SHARED_LIBRARIES/libaudioresampler_intermediates/import_includes',
missing and no known rule to make it
make: *** [ninja_wrapper] Error 1
起初我們也懷疑是Java環境的問題,但是後面反覆確認,交叉驗證,發現不是java環境的問題。因爲在稍微老一點的SDK平臺上是可以正常building的,同一個芯片平臺,同樣的android版本,老的版本上可以,新的版本上不行,這就基本排除了Java的環境。Java的環境配置都是一樣的,如下:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
再次跟SDK提供方聯繫,確認了高通平臺有一些自己的私有代碼,直接下載是building不過的,必須加上私有代碼,真是坑爹啊,都能去下你的SDK了,你還給我藏着掖着。加上patch代碼後就可以building過了。