66 lines
3.5 KiB
Markdown
66 lines
3.5 KiB
Markdown
# Release Types
|
||
|
||
This project provides four different release packages, each tailored for specific Android device architectures and usage preferences.
|
||
|
||
---
|
||
|
||
## The Four Release Files
|
||
|
||
| File Name | Architecture | Bitness | Library Type | Description |
|
||
|---------------------------|-----------------|---------|----------------|----------------------------------------------------------|
|
||
| `pmt-arm64-v8a.zip` | ARM64 (ARMv8-A) | 64-bit | Dynamic (.so) | For 64-bit devices, uses dynamic libraries. Requires accompanying `.so` files (`libhelper` and `libpartition_map`). |
|
||
| `pmt-static-arm64-v8a.zip`| ARM64 (ARMv8-A) | 64-bit | Static (.a) | Fully static build for 64-bit devices. No external dependencies. Great for general use and ADB environments. |
|
||
| `pmt-armeabi-v7a.zip` | ARM (ARMv7) | 32-bit | Dynamic (.so) | For 32-bit devices, uses dynamic libraries. Requires `.so` files (`libhelper` and `libpartition_map`). |
|
||
| `pmt-static-armeabi-v7a.zip`| ARM (ARMv7) | 32-bit | Static (.a) | Fully static build for 32-bit devices. No external dependencies. Great for general use and ADB environments. |
|
||
|
||
---
|
||
|
||
## Architecture & Bitness Explained
|
||
|
||
- **ARM64 (arm64-v8a)**:
|
||
This is a 64-bit architecture used by newer Android devices. It can handle larger amounts of memory and generally runs faster for heavy tasks.
|
||
|
||
- **ARM (armeabi-v7a)**:
|
||
This is a 32-bit architecture common on older or less powerful Android devices. It has some limitations compared to 64-bit but is still widely supported.
|
||
|
||
---
|
||
|
||
## Dynamic vs Static Libraries
|
||
|
||
The project relies on two helper libraries:
|
||
- **libhelper**
|
||
- **libpartition_map**
|
||
|
||
### Dynamic Versions (`.so` files)
|
||
|
||
- In the non-static (`pmt-arm64-v8a.zip` and `pmt-armeabi-v7a.zip`) packages, these libraries are **compiled as shared objects (`.so` files)**.
|
||
- This means that the main program (`pmt`) **depends on these libraries being present** on the device or alongside the executable to run correctly.
|
||
- If these libraries are missing, the program will fail to start.
|
||
- These builds are mostly for developers or users who want to customize or work closely with the libraries.
|
||
|
||
### Static Versions (`.a` files)
|
||
|
||
- The static packages (`pmt-static-arm64-v8a.zip` and `pmt-static-armeabi-v7a.zip`) **include these libraries inside the main executable** by linking them statically.
|
||
- This means the `pmt` binary is **completely self-contained** and **does not require any external `.so` files**.
|
||
- These versions are ideal for general users and especially convenient for ADB usage, where installing separate `.so` files might be cumbersome.
|
||
|
||
---
|
||
|
||
## Which Should You Use?
|
||
|
||
- If you want a hassle-free experience and don’t want to worry about missing libraries, **choose the static version** matching your device’s architecture.
|
||
- If you are a developer or want to experiment with the libraries separately, or save space by sharing `.so` files between multiple programs, the **dynamic version** is the way to go.
|
||
|
||
---
|
||
|
||
## Summary
|
||
|
||
| Release Type | Architecture | Dependencies | Best For |
|
||
|--------------|--------------|-----------------------|---------------------------|
|
||
| Static | 32-bit / 64-bit | None (fully standalone) | General users, ADB usage |
|
||
| Dynamic | 32-bit / 64-bit | Requires `.so` libs | Developers, advanced users |
|
||
|
||
---
|
||
|
||
If you’re unsure which one to pick, try the **static version** first — it works out of the box on all supported devices.
|