Merge pull request #606 from stenzek/android-sign

CI: Sign Android APK before uploading
This commit is contained in:
Connor McLaughlin 2020-07-13 02:39:33 +10:00 committed by GitHub
commit 7cf50e816d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 56 additions and 25 deletions

View file

@ -170,13 +170,27 @@ jobs:
run: |
cd android
./gradlew assembleRelease
mv app/build/outputs/apk/release/app-release-unsigned.apk ../duckstation-release-unsigned.apk
- name: Sign APK
uses: r0adkll/sign-android-release@v1
with:
releaseDirectory: android/app/build/outputs/apk/release
signingKeyBase64: ${{ secrets.APK_SIGNING_KEY }}
alias: ${{ secrets.APK_KEY_ALIAS }}
keyStorePassword: ${{ secrets.APK_KEY_STORE_PASSWORD }}
keyPassword: ${{ secrets.APK_KEY_PASSWORD }}
- name: Rename APK
shell: bash
run: |
cd android
mv app/build/outputs/apk/release/app-release-unsigned-signed.apk ../duckstation-android-aarch64.apk
- name: Upload APK
uses: actions/upload-artifact@v1
with:
name: "android"
path: "duckstation-release-unsigned.apk"
path: "duckstation-android-aarch64.apk"
create-release:
@ -239,5 +253,5 @@ jobs:
linux-x64-appimage-qt-zsync/duckstation-qt-x64.AppImage.zsync
linux-libretro/duckstation_libretro.so.zip
linux-libretro/duckstation_libretro_android_aarch64.so.zip
android/duckstation-release-unsigned.apk
android/duckstation-android-aarch64.apk

View file

@ -49,7 +49,7 @@ Other features include:
- SDL-compatible game controller (e.g. XB360/XBOne)
## Downloading and running
Binaries of DuckStation for 64-bit Windows and 64-bit Linux (in AppImage format) are available via GitHub Releases and are automatically built with every commit/push. Binaries or packages distributed through other sources may be out of date and are not supported by the developer.
Binaries of DuckStation for Windows 64-bit, x86_64 Linux x86_64 (in AppImage format), and Android ARMv8/AArch64 are available via GitHub Releases and are automatically built with every commit/push. Binaries or packages distributed through other sources may be out of date and are not supported by the developer.
### Windows
@ -83,14 +83,20 @@ To download:
A prebuilt APK is now available for Android. However, please keep in mind that the Android version is not yet feature complete, it is more of a preview of things to come. You will need a device running a 64-bit AArch64 userland (anything made in the last few years).
Download link: https://github.com/stenzek/duckstation/releases/download/latest/duckstation-release-unsigned.apk
Download link: https://github.com/stenzek/duckstation/releases/download/latest/duckstation-android-aarch64.apk
The main limitations are:
- No controller support, only on-screen controls.
- User directory is currently hardcoded to /sdcard/duckstation. So BIOS files go in /sdcard/duckstation/bios.
- User directory is currently hardcoded to `/sdcard/duckstation`. So BIOS files go in `/sdcard/duckstation/bios`.
- Lack of options in menu when emulator is running.
- Performance is currently lower than the desktop x86_64 counterpart.
To use:
- Install and run the app for the first time.
- This will create `/sdcard/duckstation`. Drop your BIOS files in `/sdcard/duckstation/bios`.
- Add game directories by hitting the `+` icon and selecting a directory. Due to a bug you may need to restart the app for it to scan the directory.
- Tap a game to start.
### Title Information

View file

@ -23,10 +23,12 @@
</string-array>
<string-array name="gpu_renderer_entries">
<item>Hardware (OpenGL)</item>
<item>Hardware (Vulkan)</item>
<item>Software</item>
</string-array>
<string-array name="gpu_renderer_values">
<item>OpenGL</item>
<item>Vulkan</item>
<item>Software</item>
</string-array>
<string-array name="settings_gpu_resolution_scale_entries">
@ -65,4 +67,4 @@
<item>15</item>
<item>16</item>
</string-array>
</resources>
</resources>

View file

@ -2337,14 +2337,15 @@ void CDROM::DrawDebugWindow()
if (m_reader.HasMedia())
{
const CDImage* media = m_reader.GetMedia();
const auto [disc_minute, disc_second, disc_frame] = media->GetMSFPositionOnDisc();
const auto [track_minute, track_second, track_frame] = media->GetMSFPositionInTrack();
const CDImage::Position disc_position = CDImage::Position::FromLBA(m_current_lba);
const CDImage::Position track_position = CDImage::Position::FromLBA(
m_current_lba - media->GetTrackStartPosition(static_cast<u8>(media->GetTrackNumber())));
ImGui::Text("Filename: %s", media->GetFileName().c_str());
ImGui::Text("Disc Position: MSF[%02u:%02u:%02u] LBA[%u]", disc_minute, disc_second, disc_frame,
media->GetPositionOnDisc());
ImGui::Text("Track Position: Number[%u] MSF[%02u:%02u:%02u] LBA[%u]", media->GetTrackNumber(), track_minute,
track_second, track_frame, media->GetPositionInTrack());
ImGui::Text("Disc Position: MSF[%02u:%02u:%02u] LBA[%u]", disc_position.minute, disc_position.second,
disc_position.frame, disc_position.ToLBA());
ImGui::Text("Track Position: Number[%u] MSF[%02u:%02u:%02u] LBA[%u]", media->GetTrackNumber(),
track_position.minute, track_position.second, track_position.frame, track_position.ToLBA());
ImGui::Text("Last Sector: %02X:%02X:%02X (Mode %u)", m_last_sector_header.minute, m_last_sector_header.second,
m_last_sector_header.frame, m_last_sector_header.sector_mode);
}

View file

@ -369,17 +369,25 @@ static std::array<retro_core_option_definition, 22> s_option_definitions = {{
#endif
},
{"GPU.ResolutionScale",
"Rendering Resolution Scale",
"Scales internal rendering resolution by the specified multiplier. Larger values are slower. Some games require "
"1x rendering resolution or they will have rendering issues.",
{{"1", "1x (1024x512)"},
{"2", "2x (2048x1024)"},
{"3", "3x (3072x1536)"},
{"4", "4x (4096x2048)"},
{"5", "5x (5120x2160)"},
{"6", "6x (6144x3072)"},
{"7", "7x (7168x3584)"},
{"8", "8x (8192x4096)"}},
"Internal Resolution Scale",
"Scales internal VRAM resolution by the specified multiplier. Larger values are slower. Some games require "
"1x VRAM resolution or they will have rendering issues.",
{{"1", "1x (1024x512 VRAM)"},
{"2", "2x (2048x1024 VRAM)"},
{"3", "3x (3072x1536 VRAM)"},
{"4", "4x (4096x2048 VRAM)"},
{"5", "5x (5120x2160 VRAM)"},
{"6", "6x (6144x3072 VRAM)"},
{"7", "7x (7168x3584 VRAM)"},
{"8", "8x (8192x4096 VRAM)"},
{"9", "9x (9216x4608 VRAM)"},
{"10", "10x (10240x5120 VRAM)"},
{"11", "11x (11264x5632 VRAM)"},
{"12", "12x (12288x6144 VRAM)"},
{"13", "13x (13312x6656 VRAM)"},
{"14", "14x (14336x7168 VRAM)"},
{"15", "15x (15360x7680 VRAM)"},
{"16", "16x (16384x8192 VRAM)"}},
"1"},
{"GPU.TrueColor",
"True Color Rendering",