Jkeeper 发布的文章

最近項目是台灣這邊的, 但使用到的是之前大陸製作的source, 一直沒處理, 這邊製作了 python 進行簡體轉繁體處理

import os
import glob
import zhconv

root_path = r"g:/OlgCase/bbm/source/Web/"
subdir = ["application"]

def getSubFileonFolder(path):
    count = 0
    for path, subdirs, files in os.walk(path):
        for name in files:
            fn = os.path.join(path, name)
            if fn.endswith(".js"):
                print('[js]fn:' + fn)
                count+=1
                testWriteFile(fn)
            elif fn.endswith(".php"):
                print('[php]fn:' + fn)
                count+=1
                testWriteFile(fn)

    print("檔案數",count)

def testWriteFile(path):
    fn = path
    f = open(path, mode='r')
    content = f.read()
    f.close()
    content2 = zhconv.convert(content, 'zh-tw')

    with open(fn, "w", encoding="UTF-8", newline='\n') as file:
        file.write(content2)
        file.close()

def process():
    for sub in subdir:
        getSubFileonFolder(root_path + sub)

if __name__ == "__main__":
    process()

最近為了處理 Google Play 升級問題, 遇到了奇怪的情況, 記錄下來, GP 要求 app 需要升級 android 版本跟支付庫版本

應用程式必須指定 Android 14 (API 級別 34) 以上版本
應用程式必須使用 Google Play 帳款服務程式庫 6.0.1 以上版本

升級上沒多想就把 unity 的版本選擇了
35871-2q1hox2wlp8.png

運行 As 最後執行 Make Project 出現錯誤
1: Task failed with an exception.

  • What went wrong:
    Execution failed for task ':launcher:processDebugResources'.

    A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
    AAPT2 aapt2-4.0.1-6197926-windows Daemon #0: Unexpected error during link, attempting to stop daemon.
    This should not happen under normal circumstances, please file an issue if it does.

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

    2: Task failed with an exception.

  • What went wrong:
    Execution failed for task ':unityLibrary:processDebugAndroidTestResources'.

    A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
    AAPT2 aapt2-4.0.1-6197926-windows Daemon #1: Unexpected error during link, attempting to stop daemon.
    This should not happen under normal circumstances, please file an issue if it does.

對比了空項目確認不是 FB 跟 GooglePlayGames 庫問題, 比對兩個 AS 項目後來發現 compileSdkVersion 使用 34 就是會出錯, 後來把 compileSDKVersion 改 33 就好了
compileSdkVersion 33

在 AS 連機執行 Play 出現錯誤

INSTALL_PARSE_FAILED_MANIFEST_MALFORMED

可能是 manifest 問題, 但 AS 沒提示哪邊有錯誤, 索性打包 aab 丟到 Google play 看看

上船完成後提示

您上傳的 APK 或 Android App Bundle 內含活動、活動別名、服務或廣播接收器,這些項目含有意圖篩選器,但沒有「android:exported」設定屬性。您無法在 Android 12 以上版本上安裝這個檔案。詳情請參閱:developer.android.com/about/versions/12/behavior-changes-12#exported

AndroidManifest.xml 缺少 export 屬性, 加入屬性到 <activity 底下就可以

android:exported="true"
21461-5fqgu0buh2r.png

上傳 google play 提交版本時出現錯誤

您的應用程式目前採用第 3.0.3 版 play 帳款服務程式庫,但至少須更新至第 5.2.1 版,才能使用 google play 的最新營利功能

這是因為上傳 aab 裡面使用到了 billing 是 3.0.3 版本的, 發現項目並沒有使用 billing 功能索性就刪除掉了

unityLibrary/build.grade

implementation(name: 'billing-3.0.3', ext:'aar') // 刪除

unityLibrary/src/main/AndroidManifest.xml

// 刪除