89 lines
2.4 KiB
Markdown
89 lines
2.4 KiB
Markdown
# a3270
|
|
|
|
An Android TN3270 terminal emulator based on `lib3270j` / `j3270`, built with Jetpack Compose and ported using AI.
|
|
|
|
## Repositories
|
|
|
|
- **a3270 (Android App)**: https://git.hugfreevikings.wtf/rudi/a3270
|
|
- **j3270 (Desktop App & `lib3270j` Core Library)**: https://git.hugfreevikings.wtf/rudi/j3270
|
|
|
|
`a3270` relies on the shared 3270 protocol library (`lib3270j`) provided by the `j3270` repository.
|
|
|
|
## CI/CD & Automated Builds
|
|
|
|
Automated CI/CD is configured using Gitea Actions (`.gitea/workflows/build.yml`). On every push to `main` or pull request, the workflow automatically:
|
|
1. Clones `a3270` and `j3270` (`lib3270j`).
|
|
2. Configures JDK 21 and the Android SDK.
|
|
3. Builds the debug APK (`a3270-debug.apk`).
|
|
4. Uploads the resulting APK as a downloadable workflow artifact (`a3270-debug`).
|
|
|
|
You can download pre-built APKs directly from the **Actions** tab of the repository on Gitea.
|
|
|
|
## Prerequisites
|
|
|
|
- **Java Development Kit (JDK)**: JDK 17 or JDK 21
|
|
- **Android SDK**: Android SDK with API 34 platforms and build-tools installed (`ANDROID_HOME` or `ANDROID_SDK_ROOT` set)
|
|
|
|
## Setup & Building
|
|
|
|
### 1. Clone Repositories Side-by-Side
|
|
|
|
For the easiest setup, clone both `j3270` and `a3270` into the same parent folder:
|
|
|
|
```bash
|
|
git clone https://git.hugfreevikings.wtf/rudi/j3270.git
|
|
git clone https://git.hugfreevikings.wtf/rudi/a3270.git
|
|
cd a3270
|
|
```
|
|
|
|
> **Note:** If `j3270` is located in another directory, specify its location via the `J3270_DIR` environment variable:
|
|
> ```bash
|
|
> export J3270_DIR=/path/to/j3270
|
|
> ```
|
|
> or via Gradle property:
|
|
> ```bash
|
|
> ./gradlew assembleDebug -Pj3270Dir=/path/to/j3270
|
|
> ```
|
|
|
|
### 2. Build the Debug APK
|
|
|
|
You can build using the helper script:
|
|
|
|
```bash
|
|
./build.sh
|
|
```
|
|
|
|
Or directly with Gradle Wrapper:
|
|
|
|
```bash
|
|
./gradlew assembleDebug
|
|
```
|
|
|
|
The compiled APK will be generated at:
|
|
```
|
|
build/outputs/apk/debug/a3270-debug.apk
|
|
```
|
|
|
|
## Deployment / Installation
|
|
|
|
To install the debug APK onto a connected Android device or emulator via `adb`:
|
|
|
|
```bash
|
|
adb install -r build/outputs/apk/debug/a3270-debug.apk
|
|
```
|
|
|
|
## Contributing
|
|
|
|
Contributions are welcome!
|
|
|
|
I have contributed no code to this project, it was entirely written by LLMs with my guidance only.
|
|
|
|
## Acknowledgements
|
|
|
|
- [j3270](https://git.hugfreevikings.wtf/rudi/j3270)
|
|
- [x3270](https://x3270.miraheze.org/wiki/Main_Page)
|
|
- [Antigravity](https://antigravity.google)
|
|
- Claude Opus 4.6
|
|
- Gemini 3.1 Pro (High)
|
|
- Gemini 3.7 Flash (High)
|