# FAQs (/global/en/docs/Terminal/NHAL/FAQs)

**"Q1: Which packages are required for development?"**

An aar package named \***pos-hal-XXX.aar**\* and a service apk package named \***XX-pos-hal-service-XXX.apk**\* are required.

**"Q2: Does the SDK interface aar package version have to be the same as the service apk version for development?"**

No, development can be carried out even when the two versions are inconsistent. However, the interface functions are still implemented in the current apk version.

**"Q3: How to quickly obtain relevant modules?"**

```java
try {
    IPos pos = HalService.getInstance().getPos(null);
    DeviceInfo deviceInfo = pos.getDeviceInfo();//DeviceInfo
    ILogger logger = pos.getLogger();//ILogger
    ISystem system= pos.getSystem();//ISystem 
    IEmv emv = pos.getEmv();//IEmv 
    //... ...
} catch (Exception e) {
    e.printStackTrace();
}
```

**"Q4: If the application is migrated from the POS of manufacturer A to the POS of manufacturer B, does the application need to be code-compatible?"**

No, at that time, it was necessary for manufacturer B to implement the interface service and output the \***XX-pos-hal-service-XXX.apk**\* to application development so that the application could be used normally on manufacturer B's POS.