基于AIDL的HAL无法生成java

问题描述 投票:0回答:1

我尝试使用AIDL来实现vendor HAL,但是无法生成java,下面是Android.bp和aidl文件,无法编译成功

请拦住我

Android.bp

aidl_interface {
   name: "android.hardware.weather",
   vendor: true,
   srcs: ["android/hardware/weather/*.aidl"],
   stability: "vintf",
   owner: "jiangc",
   backend: {
       cpp: {
           enabled: false,
       },
   },
}

援助

@VintfStability
interface IWeather{

    String getWeather();

    void setCity(in String city);
}

错误

[ 45% 5/11] //vendor/jiangc/hardware/interfaces/automotive/vehicle/aidl/weather:android.hardware.weather-V1-java javac [common]
FAILED: out/soong/.intermediates/vendor/jiangc/hardware/interfaces/automotive/vehicle/aidl/weather/android.hardware.weather-V1-java/android_common/javac/android.hardware.weather-V1-java.jar
rm -rf "out/soong/.intermediates/vendor/jiangc/hardware/interfaces/automotive/vehicle/aidl/weather/android.hardware.weather-V1-java/android_common/javac/classes" "out/soong/.intermediates/vendor/jiangc/hardware/
interfaces/automotive/vehicle/aidl/weather/android.hardware.weather-V1-java/android_common/javac/anno" "out/soong/.intermediates/vendor/jiangc/hardware/interfaces/automotive/vehicle/aidl/weather/android.hardware
.weather-V1-java/android_common/javac/srcjars" "out/soong/.intermediates/vendor/jiangc/hardware/interfaces/automotive/vehicle/aidl/weather/android.hardware.weather-V1-java/android_common/javac/android.hardware.w
eather-V1-java.jar" && mkdir -p "out/soong/.intermediates/vendor/jiangc/hardware/interfaces/automotive/vehicle/aidl/weather/android.hardware.weather-V1-java/android_common/javac/classes" "out/soong/.intermediate
s/vendor/jiangc/hardware/interfaces/automotive/vehicle/aidl/weather/android.hardware.weather-V1-java/android_common/javac/anno" "out/soong/.intermediates/vendor/jiangc/hardware/interfaces/automotive/vehicle/aidl
/weather/android.hardware.weather-V1-java/android_common/javac/srcjars" && out/host/linux-x86/bin/zipsync -d out/soong/.intermediates/vendor/jiangc/hardware/interfaces/automotive/vehicle/aidl/weather/android.har
dware.weather-V1-java/android_common/javac/srcjars -l out/soong/.intermediates/vendor/jiangc/hardware/interfaces/automotive/vehicle/aidl/weather/android.hardware.weather-V1-java/android_common/javac/srcjars/list
 -f "*.java"  && (if [ -s out/soong/.intermediates/vendor/jiangc/hardware/interfaces/automotive/vehicle/aidl/weather/android.hardware.weather-V1-java/android_common/javac/srcjars/list ] || [ -s out/soong/.interm
ediates/vendor/jiangc/hardware/interfaces/automotive/vehicle/aidl/weather/android.hardware.weather-V1-java/android_common/javac/android.hardware.weather-V1-java.jar.rsp ] ; then out/host/linux-x86/bin/soong_java
c_wrapper prebuilts/jdk/jdk11/linux-x86/bin/javac -J-Xmx2048M -J-XX:OnError="cat hs_err_pid%p.log" -J-XX:CICompilerCount=6 -J-XX:+UseDynamicNumberOfGCThreads -J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -X
maxerrs 9999999 -encoding UTF-8 -sourcepath "" -g -XDskipDuplicateBridges=true -XDstringConcat=inline  -proc:none -Xlint:-dep-ann --system=out/soong/.intermediates/build/soong/java/core-libraries/core-public-stu
bs-system-modules/android_common/system -classpath out/soong/.intermediates/frameworks/base/android_system_stubs_current/android_common/turbine-combined/android_system_stubs_current.jar -source 11 -target 11 -d 
out/soong/.intermediates/vendor/jiangc/hardware/interfaces/automotive/vehicle/aidl/weather/android.hardware.weather-V1-java/android_common/javac/classes -s out/soong/.intermediates/vendor/jiangc/hardware/interfa
ces/automotive/vehicle/aidl/weather/android.hardware.weather-V1-java/android_common/javac/anno @out/soong/.intermediates/vendor/jiangc/hardware/interfaces/automotive/vehicle/aidl/weather/android.hardware.weather
-V1-java/android_common/javac/android.hardware.weather-V1-java.jar.rsp @out/soong/.intermediates/vendor/jiangc/hardware/interfaces/automotive/vehicle/aidl/weather/android.hardware.weather-V1-java/android_common/
javac/srcjars/list ; fi ) && out/host/linux-x86/bin/soong_zip -jar -o out/soong/.intermediates/vendor/jiangc/hardware/interfaces/automotive/vehicle/aidl/weather/android.hardware.weather-V1-java/android_common/ja
vac/android.hardware.weather-V1-java.jar -C out/soong/.intermediates/vendor/jiangc/hardware/interfaces/automotive/vehicle/aidl/weather/android.hardware.weather-V1-java/android_common/javac/classes -D out/soong/.
intermediates/vendor/jiangc/hardware/interfaces/automotive/vehicle/aidl/weather/android.hardware.weather-V1-java/android_common/javac/classes && rm -rf "out/soong/.intermediates/vendor/jiangc/hardware/interfaces
/automotive/vehicle/aidl/weather/android.hardware.weather-V1-java/android_common/javac/srcjars"
out/soong/.intermediates/vendor/jiangc/hardware/interfaces/automotive/vehicle/aidl/weather/android.hardware.weather-V1-java-source/gen/android/hardware/weather/IWeather.java:46: error: cannot find symbol
      this.markVintfStability();
          ^
  symbol: method markVintfStability()
1 error
16:18:59 ninja failed with: exit status 1

#### failed to build some targets (15 seconds) ####

我尝试禁用 Java,它运行良好,但我现在需要它

Android.bp

aidl_interface {
   name: "android.hardware.weather",
   vendor: true,
   srcs: ["android/hardware/weather/*.aidl"],
   stability: "vintf",
   owner: "jiangc",
   backend: {
       cpp: {
           enabled: false,
       },
       java: {
           enabled: false,
       },
   },
}

如上所述,编译良好

android frameworks aidl hal
1个回答
0
投票

删除稳定性并添加不稳定:true

aidl_interface {
   name: "android.hardware.weather",
   unstable: true
   vendor: true,
   srcs: ["android/hardware/weather/*.aidl"],
   stability: "vintf",
   owner: "jiangc",
   backend: {
       cpp: {
           enabled: false,
       },
   },
}
© www.soinside.com 2019 - 2024. All rights reserved.