You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit ea56fc4
Browse filesBrowse the repository at this point in the historyBrowse files
Use **Release** for normal use and performance testing on Pepper's older tablet. This is the non-debuggable variant used on the robot; `minifyEnabled` is currently `false`, so it is not an R8-shrunk/optimized build. The command produces an **unsigned** APK that must be signed before installation (see Step 4 below). On Windows PowerShell, use `.\gradlew.bat` instead of `./gradlew`.
-**Device not listed**: Ensure same WiFi network, check IP address, restart ADB server (`adb kill-server && adb start-server`)
338
341
-**"Unauthorized"**: Accept the USB debugging popup on Pepper's tablet
339
342
340
-
#### Step 4: Deploy from Android Studio
343
+
#### Step 4: Install the Release APK (Recommended)
344
+
345
+
The following PowerShell commands reproduce the local release installation used on Pepper. Run them from the project root after connecting with ADB. They use Android SDK Build Tools `35.0.1`; adjust the SDK path/version if yours differs.
346
+
347
+
```powershell
348
+
# Build the non-debuggable Pepper release APK
349
+
.\gradlew.bat assemblePepperRelease
350
+
351
+
# Sign with the existing local debug certificate to update a debug-signed install
Signing with a debug certificate does **not** turn the release build into a debug build. This certificate is for local testing only, not public distribution. The existing `debug.keystore` must be present and must match the certificate used for the installed app. For distribution, use your own protected release keystore or Android Studio's **Build > Generate Signed Bundle / APK** with the `pepperRelease` variant.
361
+
362
+
`adb install -r` keeps app data and settings when the package and signing certificate match. If Android reports `INSTALL_FAILED_UPDATE_INCOMPATIBLE`, use the original signing key rather than uninstalling the app and losing its data. With multiple devices connected, add `-s <PEPPER_IP>:5555` after `adb`. Each rebuild may remove the locally signed APK; sign the new unsigned output again before installing.
363
+
364
+
**Optional Windows build workaround:** If Gradle fails with `Unable to establish loopback connection` due to Java Unix-domain sockets, set `$env:JAVA_TOOL_OPTIONS = '-Djdk.net.unixdomain.tmpdir=C:/nonexistent-codex-socket-dir'` in the build terminal and retry. Use a path that does not exist; this enables the TCP fallback used for our local build. This is not needed for normal builds.
365
+
366
+
#### Alternative: Deploy a Debug Build from Android Studio
367
+
For development only; select `pepperDebug` first. Use the signed release instructions above for normal use and performance comparisons.
368
+
341
369
1. In Android Studio's toolbar, verify that **"ARTNCORE LPT_200AR"** appears in the device dropdown
342
370
2. Click the green **Run button** (▶️) in the toolbar
343
371
3. Android Studio will build and install the app on Pepper
344
372
4. The app will start automatically on Pepper's tablet
345
373
346
374
**Note:** The ADB connection persists between sessions. You only need to reconnect if Pepper reboots or changes IP address.
0 commit comments