Android Development
We recommend using the following Android development environment:
| Recommend | Not recommend | Notes | |
| JDK | Amazon Corretto 8 (Amazon Corretto 11) | Java SE 17 Oracle OpenJDK (Non-LTS) | Apps signed with JDK17 cannot be installed on SOP G2. (Link) Emulator does not support JDK11 and JDK17.(Link) |
| Android Studio | 4.1 (August 2020) 4.2 (April 2021) Android Studio Arctic Fox | 2020.3.1 | Android Studio Bumblebee | 2021.1.1 | Bumblebee requires Gradle plugin v3.2 or higher. Bumblebee cannot build the sample app that uses Gradle plugin v3.1.2. |
| Android Gradle plugin | 3.1.2 - 3.6.* 4.0.* 4.1.* | 7.0.* or higher | AGP 7.0 requires JDK11. |
| SDK Build Tools | 27.0.3 - 30.0.* | 31 or higher | v31 does not support 'dx' in order to build SOP servlet. |
We recommend using the following values for the AndroidManifest.xml and Gradle configuration:
| To support SOP G2/G2.5/G3 | To support SOP G2.5/G3 | Notes | |
| buildToolsVersion | 27.0.3 - 30.0.* | 27.0.3 - 30.0.* | |
| compileSdkVersion | 17 or 23 | 23 | Apps can use Build.VERSION.SDK_INT to check API level supported by each device. SOP G3 does not support some APIs defined by API level 29 (Android 10) to keep compatibility with older SOP devices. We do not recommend to use compileSdkVersion 29. |
| targetSdkVersion | 17 | 23 | |
| minSdkVersion | 17 | 23 | SOP G1 requires minSdkVersion 10. |
Note that we recommend that minSdkVersion <= targetSdkVersion <= compileSdkVersion <= buildToolsVersion
Compatibility
JDK
| JDK8 | JDK11 | JDK17 | Notes | ||
| SmartSDK Emulator | OK | NG | NG | Emulator does not support JDK11 and JDK17.(Link) | |
| Install apps signed with JDK ** on | SOP G1 | OK | (unknown) | NG | |
| SOP G2 | OK | OK | NG | Apps signed with JDK17 cannot be installed on SOP G2. (Link) | |
| SOP G2.5 | OK | OK | OK | ||
| SOP G3 | OK | (unknown) | (unknown) | ||
| SOP Servlet javac -target -release | 6 | OK | OK | NG | JDK17 does not support compilation for Java 6. |
| 7 | OK | OK | Warning | ||
| 8 | OK | OK | OK | dx in android build tools v29 supports class files for java 8. | |
Android NDK (Link)
| SOP | Android ABIs | Notes | |
| armeabi-v7a | arm64-v8a | ||
| G2: Cortex-A9 (Armv7-A) | Supported | Not supported | |
| G2.5: Cortex-A9 (Armv7-A) | Supported | Not supported | |
| G3: Cortex-A57 (Armv8-A) | Supported | Supported (Recommendation) | Cortex-A57 supports AArch32 for full backward compatibility with Armv7. |
Android Gradle plugin (Link)
| Gradle plugin | Minimum version | Notes | |
| SDK Build Tools | JDK | ||
| 7.0.0 | 30.0.2 | 11 | RCL build server uses JDK 8. So their server does not use AGP 7.*. |
| 4.2.0 | 30.0.2 | 8 | |
| 4.1.0 | 29.0.2 | 8 | |
| 4.0.0 | 29.0.2 | 8 | |
| 3.6.0 | 28.0.3 | 8 | |
| ... | |||
| 3.1.0 | 27.0.3 | 8 | |
Android Studio (Link)
| Android Studio | Required version | Bundle | Notes |
| Android Gradle plugin | OpenJDK | ||
| Android Studio Bumblebee | 2021.1.1 | 3.2-7.1.x | 11 | SmartSDK sample apps in R2209 use AGP 3.1.2. SmartSDK sample apps in R2303/R2309 use AGP 3.5.4. |
| Android Studio Arctic Fox | 2020.3.1 | 3.1-7.0.x | 11 | |
| 4.2 (April 2021) | - | 11 | |
| 4.1 (August 2020) | - | 8 |
Notes
The SmartSDK sample apps are shipped with the following Android configuration:
| CustomAuthSample | CcidPluginSample | ScanSample | ||
| com.android.tools.build:gradle | 3.1.2 | 3.1.2 | 3.1.2 | Android Gradle plugin release notes |
| buildToolsVersion | 27.0.3 | 27.0.3 | 27.0.3 | SDK Build Tools release notes |
| compileSdkVersion | 17 | 17 | 17 | |
| targetSdkVersion | 17 | 17 | 10 | |
| minSdkVersion | 17 | 17 | 10 |
FAQ Subject
Faq Category