分类 Android 下的文章

編譯打包 apk 出現了亂碼錯誤
72503-4ohx7layddc.png

1、Android Studio 選擇 Help -> Edit Custom VM Options, 新增如下
-Dfile.encoding=UTF-8
-Dconsole.encoding=UTF-8
切換到 Android 安裝路徑下 {path}\Android Studio\bin\studio64.exe.vmoptions 一樣加入上面兩行

2、Android Studio 選擇 File -> Setting, 設定 Global Encoding, Project Encoding 為 Utf-8,
勾選 Transparent native, 如下圖
68540-o79e0z6mbg.png

3、Editor / Console 設定如下
58720-e9yg8tz58k.png

Android Studio 點 File -> Invalidate Caches, Invalidate and Restart
47327-2d1ns7nae8p.png

測試還是無效

4、切換到系統設定-> 語言, 選擇其他時間和區域設定
09239-wrxfdctyqlp.png

切換 管理 -> 更改系統區域設定
08103-v6n43sei47p.png

勾選 Beta, 使用 Unicode UTF-8 提供語言支持
11515-10vvaff9ja0l.png

再重啟 Android Studio, 測試發現亂碼好了
76429-ckbed8ff8m.png

繼續上個打包, 又出現錯誤, 如下

Cause: com/android/build/gradle/internal/ide/DefaultAndroidProject has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0

這個意思是說編譯代碼裡面或是引用的庫有55.0的版本, 但編譯環境的是 52.0的版本

查看了下 52 的是 Java8, 55 的是 Java11版本
45840-g9ow32lrdb6.png

安裝新版本並且更新 PATH, JAVA_HOME 環境變數後查看版本, 已經是新版本了
01996-6ohkkng560g.png

點開 Project Structure, 選擇 Module, 查看 Source Compatibility 發現是 Java8, 按下鍵只有 1.6、1.7、1.8 可以選擇, 強制填入 VERSION_1_11 會出錯。
71612-gnetg24zegg.png

這個跟 build.gradle 的 compileOptions 是一樣的, 修改也沒用
82152-y76xnme838.png

查看下 Android Studio 版本, 更新新版 android studio
20850-sssvwxtujem.png

這是更新的版本
68821-bjqo2w1x4mk.png

查看 module 的 java 版本, 執行 Sync Gradle 成功了
93887-o6xzmak6yq.png

上個cocos項目打包解決了問題之後又遇到了 sync gradle 問題, 這個問題找了有點久, 網上有說重啟 android stuido, 也有說改 gradle 版本的, 測試了都不行, 把 gradle 改成 7.0.2 也是一樣的錯誤, 後來仔細看了錯誤信息, 重點應該是在

The consumer was configured to find a runtime of a library compatible with Java 8

76198-8l5bui4xup6.png

索性去下載最新版本 java11, 結果還是沒用, android stuido 引用的還是系統 java8 路徑, 發現 android studio 引用的不是系統 Path 或是 JAVA_HOME定義, 點開 File -> Project Structure, SDK Location 這邊可以設定對應的 Java 版本, 設定了 Java11 再執行 Sync Gradle 就可以了

84168-n9wp7xe01b.png

cocos creator 3.8.2 編譯 android 項目

編譯項目執行 sync gralde 出現下面錯誤

Failed to open zip file.

Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)

Re-download dependencies and sync project (requires network)
30379-4eauhaal9m.png

需要找出出問題的 gradle, 切換到項目底下 gradle-wrapper.properties
78589-yc2xusdullm.png

點擊查看下載的 gradle 版本
76967-fsmrn91okdi.png

切換到下載的用戶路徑
84347-hugzfnc2h1.png

然後把目錄給刪除掉, 在切換回 android studio 再次執行 Sync Project with Gradle 可以了
90346-vl7dxz13fe8.png

61070-tx6x4zk3a3j.png