From ae583996b15db646fa5711a3d7087f15507cb15f Mon Sep 17 00:00:00 2001 From: jinge9108 <87157012+jinge9108@users.noreply.github.com> Date: Fri, 23 Jan 2026 01:36:00 +0800 Subject: [PATCH 1/5] Agents.kt --- .../main/java/com/tom/rv2ide/fragments/sidebar/utils/Agents.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/app/src/main/java/com/tom/rv2ide/fragments/sidebar/utils/Agents.kt b/core/app/src/main/java/com/tom/rv2ide/fragments/sidebar/utils/Agents.kt index 06a1efa41..056a1c259 100644 --- a/core/app/src/main/java/com/tom/rv2ide/fragments/sidebar/utils/Agents.kt +++ b/core/app/src/main/java/com/tom/rv2ide/fragments/sidebar/utils/Agents.kt @@ -25,7 +25,7 @@ val ai_agents = "gpt-5", "gpt-5-nano", "gpt-5-codex", - "gpt-4o", + "minimax-m2.1", "gpt-4o-mini", "gpt-3.5-turbo", "gpt-3.5-turbo-0125", From 71cdbe5cf30101ab8776af8d168e5f426e0e22b2 Mon Sep 17 00:00:00 2001 From: jinge9108 <87157012+jinge9108@users.noreply.github.com> Date: Fri, 23 Jan 2026 01:53:21 +0800 Subject: [PATCH 2/5] Agents.kt --- .../src/main/java/com/tom/rv2ide/artificial/agents/Agents.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/app/src/main/java/com/tom/rv2ide/artificial/agents/Agents.kt b/core/app/src/main/java/com/tom/rv2ide/artificial/agents/Agents.kt index 8feae2ae5..b2846861b 100644 --- a/core/app/src/main/java/com/tom/rv2ide/artificial/agents/Agents.kt +++ b/core/app/src/main/java/com/tom/rv2ide/artificial/agents/Agents.kt @@ -64,7 +64,7 @@ class Agents(ctx: Context) { "gpt-4.1-nano", // GPT-4o (all text/omni variants except audio, tts, transcribe) - "gpt-4o", + "minimax-m2.1", "gpt-4o-2024-05-13", "gpt-4o-mini-2024-07-18", "gpt-4o-mini", @@ -209,4 +209,4 @@ class Agents(ctx: Context) { fun isValidModelForProvider(modelName: String, providerId: String): Boolean { return modelName in getModelsForProvider(providerId) } -} \ No newline at end of file +} From 42c0e8ae012e36c88f8734724075ea20046a01ec Mon Sep 17 00:00:00 2001 From: jinge9108 <87157012+jinge9108@users.noreply.github.com> Date: Fri, 23 Jan 2026 01:57:12 +0800 Subject: [PATCH 3/5] OpenAI.kt --- .../java/com/tom/rv2ide/artificial/agents/openai/OpenAI.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/app/src/main/java/com/tom/rv2ide/artificial/agents/openai/OpenAI.kt b/core/app/src/main/java/com/tom/rv2ide/artificial/agents/openai/OpenAI.kt index b110aa14d..a606e6dbd 100644 --- a/core/app/src/main/java/com/tom/rv2ide/artificial/agents/openai/OpenAI.kt +++ b/core/app/src/main/java/com/tom/rv2ide/artificial/agents/openai/OpenAI.kt @@ -52,7 +52,7 @@ class OpenAI : AIAgent { private var currentAttemptCount = 0 private val maxRetryAttempts = 3 private var agents: Agents? = null - private var selectedModel: String = "gpt-4o" + private var selectedModel: String = "minimax-m2.1" override val providerId = "openai" override val providerName = "OpenAI" @@ -86,7 +86,7 @@ class OpenAI : AIAgent { // Ensure we're using a valid OpenAI model if (!agents!!.isValidModelForProvider(selectedModel, "openai")) { - selectedModel = "gpt-4o" + selectedModel = "minimax-m2.1" agents?.setAgent(selectedModel) agents?.setProvider("openai") } @@ -270,7 +270,7 @@ class OpenAI : AIAgent { private fun callOpenAIAPI(apiKey: String, prompt: String): String { android.util.Log.d("OpenAI", "Starting API call to OpenAI") - val url = URL("https://api.openai.com/v1/chat/completions") + val url = URL("https://integrate.api.nvidia.com/v1/chat/completions") val connection = url.openConnection() as HttpURLConnection try { From 86ea3fe31d588719428ed1775161edfe6b59e98a Mon Sep 17 00:00:00 2001 From: jinge9108 <87157012+jinge9108@users.noreply.github.com> Date: Fri, 23 Jan 2026 02:39:25 +0800 Subject: [PATCH 4/5] asm_build.yml --- .github/workflows/asm_build.yml | 58 +++++++++++++++++++++------------ 1 file changed, 38 insertions(+), 20 deletions(-) diff --git a/.github/workflows/asm_build.yml b/.github/workflows/asm_build.yml index ab87c249a..a099754d9 100644 --- a/.github/workflows/asm_build.yml +++ b/.github/workflows/asm_build.yml @@ -23,25 +23,29 @@ on: jobs: build_release_apk: - name: Build Debug APK + name: Build Release APK runs-on: ubuntu-latest steps: - name: Cancel previous runs uses: styfle/cancel-workflow-action@0.12.1 with: access_token: ${{ github.token }} + - name: Checkout uses: actions/checkout@v4 with: submodules: 'recursive' fetch-depth: 0 + - name: Set up JDK 17 uses: actions/setup-java@v4 with: java-version: '17' distribution: 'adopt' + - name: Change Gradle wrapper permissions run: chmod +x ./gradlew + - name: Restore cache uses: actions/cache@v4 with: @@ -51,48 +55,62 @@ jobs: key: ${{ runner.os }}-gradle-v2-${{ hashFiles('**/*.gradle*') }} restore-keys: | ${{ runner.os }}-gradle- + + # === 新增步骤:自动生成临时签名文件 === + - name: Generate Temporary Keystore + run: | + keytool -genkeypair -v \ + -keystore release.jks \ + -keyalg RSA \ + -keysize 2048 \ + -validity 10000 \ + -alias android-ide \ + -dname "CN=AndroidCodeStudio, OU=Development, O=OpenSource, L=Internet, S=Cloud, C=US" \ + -storepass 123456 \ + -keypass 123456 + echo "Generated release.jks at $(pwd)/release.jks" + + # === 修改步骤:指向刚才生成的临时文件 === - name: Create local.properties run: | - echo "signing.storeFile=signing/signing-key.jks" >> local.properties + # 使用 ${{ github.workspace }} 获取绝对路径,防止找不到文件 + echo "signing.storeFile=${{ github.workspace }}/release.jks" >> local.properties echo "signing.storePassword=123456" >> local.properties echo "signing.keyAlias=android-ide" >> local.properties echo "signing.keyPassword=123456" >> local.properties - - name: Debug signing setup - run: | - echo "=== Repository structure ===" - find . -name "*.jks" -o -name "local.properties" | head -10 - echo "" - echo "=== local.properties content ===" - cat local.properties || echo "local.properties not found" - echo "" - echo "=== SigningDirectory ===" - ls -la core/app/signing/ || echo "core/app/signing directory not found" - - name: Assemble Debug APK - run: ./gradlew :core:app:assembleDebug - # run: ./gradlew :core:app:assembleRelease - - name: List APK files (debug) - run: ls -la core/app/build/outputs/apk/debug/ + + - name: Assemble Release APK + run: ./gradlew :core:app:assembleRelease + + - name: List APK files (Release) + run: ls -R core/app/build/outputs/apk/release/ + + # === 上传步骤 === + - name: Upload arm64-v8a Release APK uses: actions/upload-artifact@v4 with: - name: apk-arm64-v8a-debug - path: core/app/build/outputs/apk/debug/*arm64-v8a*.apk + name: apk-arm64-v8a-release + path: core/app/build/outputs/apk/release/*arm64-v8a*.apk if: always() + - name: Upload armeabi-v7a Release APK uses: actions/upload-artifact@v4 with: name: apk-armeabi-v7a-release path: core/app/build/outputs/apk/release/*armeabi-v7a*.apk if: always() + - name: Upload x86_64 Release APK uses: actions/upload-artifact@v4 with: name: apk-x86_64-release path: core/app/build/outputs/apk/release/*x86_64*.apk if: always() + - name: Upload universal Release APK uses: actions/upload-artifact@v4 with: name: apk-universal-release path: core/app/build/outputs/apk/release/*universal*.apk - if: always() \ No newline at end of file + if: always() From c6765aa24c291cfdc8b345a4a41bdf0a7770d709 Mon Sep 17 00:00:00 2001 From: jinge9108 <87157012+jinge9108@users.noreply.github.com> Date: Fri, 23 Jan 2026 03:08:54 +0800 Subject: [PATCH 5/5] asm_build.yml --- .github/workflows/asm_build.yml | 72 +++++++++++++-------------------- 1 file changed, 27 insertions(+), 45 deletions(-) diff --git a/.github/workflows/asm_build.yml b/.github/workflows/asm_build.yml index a099754d9..4dd6debfe 100644 --- a/.github/workflows/asm_build.yml +++ b/.github/workflows/asm_build.yml @@ -1,4 +1,4 @@ -name: Build Android Code Studio +name: Build Android Code Studio (Debug) on: push: @@ -14,16 +14,11 @@ on: - '.github/workflows/crowdin_contributors.yml' pull_request: branches: [ "dev" ] - paths-ignore: - - '**.md' - - '**.json' - - 'fastlane/**' - - '.github/workflows/crowdin_contributors.yml' workflow_dispatch: { } jobs: - build_release_apk: - name: Build Release APK + build_debug_apk: + name: Build Debug APK runs-on: ubuntu-latest steps: - name: Cancel previous runs @@ -56,58 +51,45 @@ jobs: restore-keys: | ${{ runner.os }}-gradle- - # === 新增步骤:自动生成临时签名文件 === - - name: Generate Temporary Keystore - run: | - keytool -genkeypair -v \ - -keystore release.jks \ - -keyalg RSA \ - -keysize 2048 \ - -validity 10000 \ - -alias android-ide \ - -dname "CN=AndroidCodeStudio, OU=Development, O=OpenSource, L=Internet, S=Cloud, C=US" \ - -storepass 123456 \ - -keypass 123456 - echo "Generated release.jks at $(pwd)/release.jks" + # === 关键修改:直接构建 Debug 包,跳过复杂的签名配置 === + - name: Assemble Debug APK + # 添加 --stacktrace 可以在出错时看到详细日志 + # 添加 -x lint 可以跳过代码检查,防止因为小警告导致构建失败 + run: ./gradlew :core:app:assembleDebug --stacktrace -x lint - # === 修改步骤:指向刚才生成的临时文件 === - - name: Create local.properties - run: | - # 使用 ${{ github.workspace }} 获取绝对路径,防止找不到文件 - echo "signing.storeFile=${{ github.workspace }}/release.jks" >> local.properties - echo "signing.storePassword=123456" >> local.properties - echo "signing.keyAlias=android-ide" >> local.properties - echo "signing.keyPassword=123456" >> local.properties + - name: List APK files (Debug) + run: ls -R core/app/build/outputs/apk/debug/ - - name: Assemble Release APK - run: ./gradlew :core:app:assembleRelease - - - name: List APK files (Release) - run: ls -R core/app/build/outputs/apk/release/ - - # === 上传步骤 === + # === 上传步骤:路径改为 debug === - - name: Upload arm64-v8a Release APK + - name: Upload arm64-v8a Debug APK uses: actions/upload-artifact@v4 with: - name: apk-arm64-v8a-release - path: core/app/build/outputs/apk/release/*arm64-v8a*.apk + name: apk-arm64-v8a-debug + path: core/app/build/outputs/apk/debug/*arm64-v8a*.apk if: always() - - name: Upload armeabi-v7a Release APK + - name: Upload armeabi-v7a Debug APK uses: actions/upload-artifact@v4 with: - name: apk-armeabi-v7a-release - path: core/app/build/outputs/apk/release/*armeabi-v7a*.apk + name: apk-armeabi-v7a-debug + path: core/app/build/outputs/apk/debug/*armeabi-v7a*.apk if: always() - - name: Upload x86_64 Release APK + - name: Upload x86_64 Debug APK uses: actions/upload-artifact@v4 with: - name: apk-x86_64-release - path: core/app/build/outputs/apk/release/*x86_64*.apk + name: apk-x86_64-debug + path: core/app/build/outputs/apk/debug/*x86_64*.apk if: always() + - name: Upload universal Debug APK + uses: actions/upload-artifact@v4 + with: + name: apk-universal-debug + path: core/app/build/outputs/apk/debug/*universal*.apk + if: always() if: always() + - name: Upload universal Release APK uses: actions/upload-artifact@v4 with: