36 Commits

Author SHA1 Message Date
527c8176e4 FIX: Update new resource
All checks were successful
Build / build (push) Successful in 7m18s
2025-10-17 12:31:30 +07:00
a54219b781 FIX: Update new resource
Some checks failed
Build / build (push) Failing after 3m37s
2025-10-17 12:24:53 +07:00
84cf16c3bf UPDATE: Update to 3.6.54
Some checks failed
Build / build (push) Failing after 6m2s
2025-10-17 10:47:09 +07:00
becf6779f7 Add CI/CD
All checks were successful
Build / build (push) Successful in 8m55s
2025-10-08 21:51:08 +07:00
d61b2aa907 Add CI/CD
Some checks failed
Build / build (push) Failing after 5m40s
2025-10-08 20:51:48 +07:00
534c08c70a Add CI/CD
Some checks failed
Build / build (push) Has been cancelled
2025-10-08 19:51:05 +07:00
bc3e6f514a Add CI/CD
Some checks failed
Build / build (push) Failing after 8m14s
2025-10-08 19:29:42 +07:00
2469b9ff83 Add CI/CD
Some checks failed
Build / build (push) Failing after 9m7s
2025-10-08 19:15:26 +07:00
f3abdff971 Add CI/CD
Some checks failed
Build / build (push) Has been cancelled
2025-10-08 19:11:38 +07:00
af1b71f929 Add CI/CD
Some checks failed
Build / build (push) Failing after 7m20s
2025-10-08 19:00:23 +07:00
4146f260ac Add CI/CD
Some checks failed
Build / build (push) Failing after 6m29s
2025-10-08 18:00:20 +07:00
7c5200f838 Add CI/CD
Some checks failed
Build / build (push) Failing after 2m56s
2025-10-08 17:42:30 +07:00
17d6856f58 Add CI/CD
Some checks failed
Build / build (push) Failing after 4m3s
2025-10-08 17:32:49 +07:00
2ba164a05c Add CI/CD
Some checks failed
Build / build (push) Failing after 6m11s
2025-10-08 17:23:30 +07:00
ecd02b8885 Add CI/CD
Some checks failed
Build / build (push) Failing after 9m16s
2025-10-08 17:11:26 +07:00
08caef28ab Add CI/CD
Some checks failed
Build / build (push) Has been cancelled
2025-10-08 17:09:26 +07:00
b587da0b9a Add CI/CD
Some checks failed
Build / build (push) Has been cancelled
2025-10-08 16:52:32 +07:00
0f7748a1df Add CI/CD
Some checks failed
Build / build (push) Failing after 5m7s
2025-10-08 16:47:19 +07:00
2a2159eb8a Add CI/CD
Some checks failed
Build / build (push) Has been cancelled
2025-10-08 16:27:52 +07:00
866de7a49e Add CI/CD
Some checks failed
Build / build (push) Failing after 27s
2025-10-08 16:27:05 +07:00
c49be0b2e7 Add CI/CD
Some checks failed
Build / build (push) Failing after 29s
2025-10-08 16:19:25 +07:00
00155e3619 Add CI/CD
Some checks failed
Build / build (push) Failing after 27s
2025-10-08 16:14:26 +07:00
6a9b6bc3a8 Add CI/CD
Some checks failed
Build / build (push) Failing after 28s
2025-10-08 16:11:22 +07:00
e7b7751fbb Add CI/CD
Some checks failed
Build / build (push) Failing after 13m27s
2025-10-08 14:04:47 +07:00
66f6ef6cec Add CI/CD
Some checks failed
Build / build (push) Failing after 3m31s
2025-10-08 13:36:07 +07:00
1d149bfa19 Add CI/CD
Some checks failed
Build / build (push) Has been cancelled
2025-10-08 13:31:03 +07:00
707f7adbeb Add CI/CD
Some checks failed
Build / build (push) Failing after 4m26s
2025-10-08 13:21:11 +07:00
b9f73f0d0f Add CI/CD
Some checks failed
Build / build (push) Failing after 3m59s
2025-10-08 13:01:38 +07:00
2f191a2c41 Add CI/CD
Some checks failed
Build / build (push) Failing after 5m8s
2025-10-08 12:44:45 +07:00
47f3f1f55d Add CI/CD
Some checks failed
Build / build (push) Failing after 9m53s
2025-10-08 12:28:39 +07:00
9399dbe051 Add CI/CD
Some checks failed
Build / build (push) Failing after 6m43s
2025-10-08 12:02:22 +07:00
a044ca8189 Add CI/CD
Some checks failed
Build / build (push) Failing after 5m20s
2025-10-08 11:48:31 +07:00
67e06fd017 Add CI/CD
Some checks failed
Build / build (push) Failing after 3m30s
2025-10-08 11:26:43 +07:00
629e0cb456 Add CI/CD
Some checks failed
Build / build (push) Failing after 4m55s
2025-10-08 11:17:28 +07:00
4135f02885 Add CI/CD
Some checks failed
Build / build (push) Failing after 3m18s
2025-10-08 11:01:09 +07:00
6149ff55ab FIX: Fix sync data 2025-10-04 22:14:57 +07:00
25 changed files with 259 additions and 233 deletions

View File

@@ -0,0 +1,61 @@
name: Build
run-name: ${{ gitea.actor }} build 🚀
on:
push:
branches:
- master
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Set Up JDK
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
- name: Setup Android SDK
uses: amyu/setup-android@v5
with:
cache-disabled: true
- name: Grant execute permissions
run: |
chmod +x ./gradlew
chmod +x ./script/release-uploader
- name: Download AAR manually
run: |
FILE="app/libs/firefly-go.aar"
URL="https://git.kain.io.vn/Firefly-Shelter/FireflyGo_Android/media/branch/master/app/libs/firefly-go.aar"
echo "📥 Downloading $FILE from $URL"
curl -L -o "$FILE" "$URL"
- name: Build signed release APK
env:
KEYSTORE_PATH: ${{ github.workspace }}/KeyStore.jks
KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
KEY_ALIAS: ${{ secrets.KEY_ALIAS }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
run: |
./gradlew assembleRelease \
-Pandroid.injected.signing.store.file=$KEYSTORE_PATH \
-Pandroid.injected.signing.store.password=$KEYSTORE_PASSWORD \
-Pandroid.injected.signing.key.alias=$KEY_ALIAS \
-Pandroid.injected.signing.key.password=$KEY_PASSWORD
- name: Find and rename release APK
run: |
APK_FILE=$(ls app/build/outputs/apk/release/*.apk | head -n 1)
echo "Found APK: $APK_FILE"
mv "$APK_FILE" app/build/outputs/apk/release/firefly_go_android.apk
- name: Upload release
env:
REPO_TOKEN: ${{ secrets.REPO_TOKEN }}
run: script/release-uploader -token=$REPO_TOKEN -release-url="https://git.kain.io.vn/api/v1/repos/Firefly-Shelter/FireflyGo_Android/releases" -files="app/build/outputs/apk/release/firefly_go_android.apk"

2
.idea/.name generated
View File

@@ -1 +1 @@
FireflyPsAndorid
FireflyGoAndroid

2
.idea/compiler.xml generated
View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="21" />
<bytecodeTargetLevel target="17" />
</component>
</project>

13
.idea/deviceManager.xml generated Normal file
View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DeviceTable">
<option name="columnSorters">
<list>
<ColumnSorterState>
<option name="column" value="Name" />
<option name="order" value="ASCENDING" />
</ColumnSorterState>
</list>
</option>
</component>
</project>

3
.idea/misc.xml generated
View File

@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="jbr-21" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" project-jdk-name="jbr-21" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">

View File

@@ -5,13 +5,16 @@ plugins {
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
}
kotlin {
jvmToolchain(17)
}
android {
namespace = "com.example.firefly_go_android"
compileSdk = 36
defaultConfig {
applicationId = "com.example.firefly_go_android"
applicationId = "com.kain344.firefly_go_android"
minSdk = 24
//noinspection OldTargetApi
targetSdk = 35
@@ -23,7 +26,8 @@ android {
buildTypes {
release {
isMinifyEnabled = false
isMinifyEnabled = true
isShrinkResources = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
@@ -31,17 +35,9 @@ android {
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
kotlinOptions {
jvmTarget = "11"
}
buildFeatures {
compose = true
viewBinding = true
}
composeOptions {
@@ -49,6 +45,10 @@ android {
}
buildToolsVersion = "36.0.0"
ndkVersion = "27.2.12479018"
dependenciesInfo {
includeInApk = false
includeInBundle = false
}
}
dependencies {
@@ -87,6 +87,8 @@ dependencies {
debugImplementation(libs.ui.test.manifest)
// Local AAR library
implementation(files("../library/firefly-go.aar"))
implementation(files("libs/firefly-go.aar"))
implementation("org.slf4j:slf4j-android:1.7.36")
}

Binary file not shown.

BIN
app/libs/firefly-go.aar LFS Normal file

Binary file not shown.

View File

@@ -1,5 +1,5 @@
{
"latest_version": "3.6.2-05",
"changelog": "UPDATE: Re-optimize performance",
"apk_url": "https://git.kain.io.vn/Firefly-Shelter/FireflyGo_Android/releases/download/3.6.2-05/firefly_go_android.apk"
"latest_version": "3.6.4-02",
"changelog": "UPDATE: Update to 3.6.54",
"apk_url": "https://git.kain.io.vn/Firefly-Shelter/FireflyGo_Android/releases/download/3.6.4-02/firefly_go_android.apk"
}

View File

@@ -151,13 +151,13 @@
200000
],
"2": [
500000,
10000000,
500000
2000000000,
2000000000,
2000000000
]
},
"cycle_count": 1,
"mode": true
"mode": false
},
"profile_data": {
"cur_chat_bubble_id": 220008,
@@ -180,5 +180,11 @@
"skin_data": {
"1001": 1100101,
"1310": 1131001
},
"extra_setting": {
"censorship": false,
"cm": false,
"first_person": false,
"hide_ui": false
}
}

View File

@@ -1206,7 +1206,7 @@
"level": 15,
"relic_id": 63095,
"relic_set_id": 309,
"main_affix_id": 8,
"main_affix_id": 9,
"sub_affixes": [
{
"sub_affix_id": 5,
@@ -9104,10 +9104,10 @@
"data": {
"rank": 0,
"skills": {
"1013001": 1,
"1013002": 1,
"1013003": 1,
"1013004": 1,
"1013001": 6,
"1013002": 10,
"1013003": 10,
"1013004": 10,
"1013007": 1,
"1013101": 1,
"1013102": 1,
@@ -9296,10 +9296,10 @@
"data": {
"rank": 0,
"skills": {
"1104001": 1,
"1104002": 1,
"1104003": 1,
"1104004": 1,
"1104001": 6,
"1104002": 10,
"1104003": 10,
"1104004": 10,
"1104007": 1,
"1104101": 1,
"1104102": 1,
@@ -9360,8 +9360,8 @@
"data": {
"rank": 6,
"skills": {
"1106001": 3,
"1106002": 9,
"1106001": 6,
"1106002": 10,
"1106003": 10,
"1106004": 10,
"1106007": 1,
@@ -9858,10 +9858,10 @@
"data": {
"rank": 0,
"skills": {
"1209001": 1,
"1209002": 1,
"1209003": 1,
"1209004": 1,
"1209001": 6,
"1209002": 10,
"1209003": 10,
"1209004": 10,
"1209007": 1,
"1209101": 1,
"1209102": 1,
@@ -11563,21 +11563,38 @@
}
},
"battle_config": {
"battle_type": "CE",
"blessings": [],
"battle_type": "MOC",
"blessings": [
{
"level": 1,
"id": 3030141
}
],
"custom_stats": [],
"cycle_count": 30,
"stage_id": 103202,
"stage_id": 30118121,
"path_resonance_id": 0,
"monsters": [
[
{
"monster_id": 8034012,
"monster_id": 2023030,
"level": 95,
"amount": 1
},
{
"monster_id": 8034012,
"monster_id": 4053020,
"level": 95,
"amount": 1
},
{
"monster_id": 2023030,
"level": 95,
"amount": 1
}
],
[
{
"monster_id": 4014020,
"level": 95,
"amount": 1
}

View File

@@ -6,6 +6,20 @@
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12103115_ee78155e9867_3626f0948d93e2",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12118783_55113408814f_c874267d04c04a"
},
"CNBETAAndroid3.6.52": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12150127_00d6d096d968_cd76a04beb7ba6",
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12150127_00d6d096d968_cd76a04beb7ba6",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12178965_e246796e0bb6_05bcce36cd648b",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12150614_5279f6d8029a_bdecff99d2d817",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12164593_8e3fba5163df_b2b6fc46de4c06"
},
"CNBETAAndroid3.6.53": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12267173_87c48b19cccf_e57c755c3b27d6",
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12267173_87c48b19cccf_e57c755c3b27d6",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12291938_90c393f370b8_ecf686154f9ea4",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12295568_47061d21355e_62b79a4851861d",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12279762_593428c5dc22_788410d8dabf6a"
},
"CNBETAWin3.6.51": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12066992_f083970b907e_999074cab6dce6",
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12056690_16bfd67c199f_f3c0367d7b051e",
@@ -13,6 +27,20 @@
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12103115_ee78155e9867_3626f0948d93e2",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12118783_55113408814f_c874267d04c04a"
},
"CNBETAWin3.6.52": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12150127_00d6d096d968_cd76a04beb7ba6",
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12150127_00d6d096d968_cd76a04beb7ba6",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12178965_e246796e0bb6_05bcce36cd648b",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12150614_5279f6d8029a_bdecff99d2d817",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12164593_8e3fba5163df_b2b6fc46de4c06"
},
"CNBETAWin3.6.53": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12267173_87c48b19cccf_e57c755c3b27d6",
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12267173_87c48b19cccf_e57c755c3b27d6",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12291938_90c393f370b8_ecf686154f9ea4",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12295568_47061d21355e_62b79a4851861d",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12279762_593428c5dc22_788410d8dabf6a"
},
"CNBETAiOS3.6.51": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12066992_f083970b907e_999074cab6dce6",
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12056690_16bfd67c199f_f3c0367d7b051e",
@@ -20,6 +48,20 @@
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12103115_ee78155e9867_3626f0948d93e2",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12118783_55113408814f_c874267d04c04a"
},
"CNBETAiOS3.6.52": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12150127_00d6d096d968_cd76a04beb7ba6",
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12150127_00d6d096d968_cd76a04beb7ba6",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12178965_e246796e0bb6_05bcce36cd648b",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12150614_5279f6d8029a_bdecff99d2d817",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12164593_8e3fba5163df_b2b6fc46de4c06"
},
"CNBETAiOS3.6.53": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12267173_87c48b19cccf_e57c755c3b27d6",
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12267173_87c48b19cccf_e57c755c3b27d6",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12291938_90c393f370b8_ecf686154f9ea4",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12295568_47061d21355e_62b79a4851861d",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12279762_593428c5dc22_788410d8dabf6a"
},
"OSBETAAndroid3.6.51": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12066992_f083970b907e_999074cab6dce6",
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12056690_16bfd67c199f_f3c0367d7b051e",
@@ -27,6 +69,20 @@
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12103115_ee78155e9867_3626f0948d93e2",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12118783_55113408814f_c874267d04c04a"
},
"OSBETAAndroid3.6.52": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12150127_00d6d096d968_cd76a04beb7ba6",
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12150127_00d6d096d968_cd76a04beb7ba6",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12178965_e246796e0bb6_05bcce36cd648b",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12150614_5279f6d8029a_bdecff99d2d817",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12164593_8e3fba5163df_b2b6fc46de4c06"
},
"OSBETAAndroid3.6.53": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12267173_87c48b19cccf_e57c755c3b27d6",
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12267173_87c48b19cccf_e57c755c3b27d6",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12291938_90c393f370b8_ecf686154f9ea4",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12295568_47061d21355e_62b79a4851861d",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12279762_593428c5dc22_788410d8dabf6a"
},
"OSBETAWin3.6.51": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12066992_f083970b907e_999074cab6dce6",
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12056690_16bfd67c199f_f3c0367d7b051e",
@@ -34,11 +90,39 @@
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12103115_ee78155e9867_3626f0948d93e2",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12118783_55113408814f_c874267d04c04a"
},
"OSBETAWin3.6.52": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12150127_00d6d096d968_cd76a04beb7ba6",
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12150127_00d6d096d968_cd76a04beb7ba6",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12178965_e246796e0bb6_05bcce36cd648b",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12150614_5279f6d8029a_bdecff99d2d817",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12164593_8e3fba5163df_b2b6fc46de4c06"
},
"OSBETAWin3.6.53": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12267173_87c48b19cccf_e57c755c3b27d6",
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12267173_87c48b19cccf_e57c755c3b27d6",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12291938_90c393f370b8_ecf686154f9ea4",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12295568_47061d21355e_62b79a4851861d",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12279762_593428c5dc22_788410d8dabf6a"
},
"OSBETAiOS3.6.51": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12066992_f083970b907e_999074cab6dce6",
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12056690_16bfd67c199f_f3c0367d7b051e",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12114942_e99cbde25134_e63a6b835f17f9",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12103115_ee78155e9867_3626f0948d93e2",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12118783_55113408814f_c874267d04c04a"
},
"OSBETAiOS3.6.52": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12150127_00d6d096d968_cd76a04beb7ba6",
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12150127_00d6d096d968_cd76a04beb7ba6",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12178965_e246796e0bb6_05bcce36cd648b",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12150614_5279f6d8029a_bdecff99d2d817",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12164593_8e3fba5163df_b2b6fc46de4c06"
},
"OSBETAiOS3.6.53": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12267173_87c48b19cccf_e57c755c3b27d6",
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12267173_87c48b19cccf_e57c755c3b27d6",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12291938_90c393f370b8_ecf686154f9ea4",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12295568_47061d21355e_62b79a4851861d",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12279762_593428c5dc22_788410d8dabf6a"
}
}

View File

@@ -14,12 +14,12 @@ org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
# AndroidX package structure to make it clearer which packages are bundled with the
# Android operating system, and which are packaged with your app's APK
# https://developer.android.com/topic/libraries/support-library/androidx-rn
org.gradle.parallel=true
android.useAndroidX=true
android.enableJetifier=false
# Kotlin code style for this project: "official" or "obsolete":
kotlin.code.style=official
# Enables namespacing of each library's R class so that its R class includes only the
# resources declared in the library itself and none from the library's dependencies,
# thereby reducing the size of the R class for that library
android.nonTransitiveRClass=true
org.gradle.configuration-cache=true
#org.gradle.configuration-cache=false

View File

@@ -1,24 +1,24 @@
[versions]
activityComposeVersion = "1.10.1"
agp = "8.9.3"
activityComposeVersion = "1.11.0"
agp = "8.13.0"
androidxJunit = "1.3.0"
animationCore = "1.9.0"
animationCore = "1.9.2"
autoupdater = "1.0.1"
espressoCoreVersion = "3.7.0"
foundation = "1.9.0"
kotlin = "2.0.21"
foundation = "1.9.2"
kotlin = "2.2.20"
coreKtx = "1.17.0"
junit = "4.13.2"
lifecycleRuntimeKtxVersion = "2.9.3"
material = "1.9.0"
material3WindowSizeClass = "1.3.2"
lifecycleRuntimeKtxVersion = "2.9.4"
material = "1.9.2"
material3WindowSizeClass = "1.4.0"
materialIconsExtended = "1.7.8"
ui = "1.9.0"
uiGraphics = "1.9.0"
uiTestJunit4 = "1.9.0"
uiTestManifest = "1.9.0"
uiTooling = "1.9.0"
uiToolingPreview = "1.9.0"
ui = "1.9.2"
uiGraphics = "1.9.2"
uiTestJunit4 = "1.9.2"
uiTestManifest = "1.9.2"
uiTooling = "1.9.2"
uiToolingPreview = "1.9.2"
[libraries]
androidx-activity-compose-v1101 = { module = "androidx.activity:activity-compose", version.ref = "activityComposeVersion" }

View File

@@ -1,6 +1,6 @@
#Mon Apr 28 17:05:34 ICT 2025
#Wed Oct 08 15:20:16 ICT 2025
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b2890a23bc1bad9326247f5b8a055f7bfe93eeaaf0e89e220fe27cf9aedf07b5
size 89623442

2
script/.gitignore vendored
View File

@@ -1,2 +0,0 @@
.env
*.exe

View File

@@ -1,2 +1,2 @@
# Changelog
## - UPDATE: Re-optimize performance
## - FIX: I forgot update new data

View File

@@ -1,5 +0,0 @@
module release
go 1.25.0
require github.com/joho/godotenv v1.5.1

View File

@@ -1,2 +0,0 @@
github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0=
github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4=

View File

@@ -1,154 +0,0 @@
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"mime/multipart"
"net/http"
"os"
"path/filepath"
"github.com/joho/godotenv"
)
const (
repoOwner = "Firefly-Shelter"
repoName = "FireflyGo_Android"
giteaURL = "https://git.kain.io.vn"
)
type ReleaseInput struct {
TagName string `json:"tag_name"`
Name string `json:"name"`
Body string `json:"body"`
Draft bool `json:"draft"`
Prerelease bool `json:"prerelease"`
}
type ReleaseResponse struct {
ID int `json:"id"`
HTMLURL string `json:"html_url"`
URL string `json:"url"`
}
func readFile(path string) string {
data, err := os.ReadFile(path)
if err != nil {
panic(fmt.Sprintf("Failed to read %s: %v", path, err))
}
return string(data)
}
func main() {
err := godotenv.Load("script/.env")
if err != nil {
fmt.Println("Error loading .env file")
}
token := os.Getenv("TOKEN")
if token == "" {
fmt.Println("TOKEN not found in .env")
}
releaseJSON := readFile("script/release.json")
var meta map[string]string
if err := json.Unmarshal([]byte(releaseJSON), &meta); err != nil {
panic("Invalid release.json")
}
tag := meta["tag"]
title := meta["title"]
body := readFile("script/README_Note.md")
// Step 1: Create release
releaseInput := ReleaseInput{
TagName: tag,
Name: title,
Body: body,
Draft: false,
Prerelease: false,
}
payload, _ := json.Marshal(releaseInput)
req, _ := http.NewRequest("POST",
fmt.Sprintf("%s/api/v1/repos/%s/%s/releases", giteaURL, repoOwner, repoName),
bytes.NewReader(payload),
)
req.Header.Set("Authorization", "token "+token)
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
if resp.StatusCode != http.StatusCreated {
bodyBytes, _ := io.ReadAll(resp.Body)
panic(fmt.Sprintf("Failed to create release: %s", bodyBytes))
}
var releaseResp ReleaseResponse
if err := json.NewDecoder(resp.Body).Decode(&releaseResp); err != nil {
panic("Failed to decode release response")
}
fmt.Printf("Release created:\n- ID: %d\n- HTML: %s\n", releaseResp.ID, releaseResp.HTMLURL)
uploadURL := releaseResp.URL
if uploadURL == "" {
panic("url missing in release response")
}
files, err := os.ReadDir("app/release")
if err != nil {
panic("Cannot read prebuild folder")
}
for _, file := range files {
if filepath.Ext(file.Name()) != ".apk" {
continue
}
uploadPath := filepath.Join("app/release", file.Name())
fmt.Println("Uploading:", uploadPath)
buf := new(bytes.Buffer)
writer := multipart.NewWriter(buf)
part, err := writer.CreateFormFile("attachment", filepath.Base(uploadPath))
if err != nil {
fmt.Printf("Failed to create form: %v\n", err)
continue
}
src, err := os.Open(uploadPath)
if err != nil {
fmt.Printf("Cannot open file %s: %v\n", file.Name(), err)
continue
}
io.Copy(part, src)
src.Close()
writer.Close()
req, err := http.NewRequest("POST", uploadURL+"/assets", buf)
if err != nil {
fmt.Printf("NewRequest error: %v\n", err)
continue
}
req.Header.Set("Authorization", "token "+token)
req.Header.Set("Content-Type", writer.FormDataContentType())
resp, err := http.DefaultClient.Do(req)
if err != nil {
fmt.Printf("Upload failed: %v\n", err)
continue
}
if resp.StatusCode != http.StatusCreated {
bodyBytes, _ := io.ReadAll(resp.Body)
fmt.Printf("Upload failed: %s\n", bodyBytes)
} else {
fmt.Println("Uploaded:", file.Name())
}
resp.Body.Close()
}
}

BIN
script/release-uploader Normal file

Binary file not shown.

View File

@@ -1,5 +1,5 @@
{
"tag": "3.6.2-05",
"title": "PreBuild Version 3.6.52 - 05"
"tag": "3.6.4-02",
"title": "PreBuild Version 3.6.54 - 02"
}

View File

@@ -1,5 +1,8 @@
pluginManagement {
repositories {
maven {
setUrl("https://jitpack.io")
}
google {
content {
includeGroupByRegex("com\\.android.*")
@@ -9,18 +12,20 @@ pluginManagement {
}
mavenCentral()
gradlePluginPortal()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
maven {
setUrl("https://jitpack.io")
}
google()
mavenCentral()
maven{
url=uri("https://jitpack.io")
}
}
}
rootProject.name = "FireflyPsAndorid"
}
rootProject.name = "FireflyGoAndroid"
include(":app")