[Изучение исходного кода cocos] Решение проблем, возникающих при построении демо-версии Android cocos2d-x-4.0

среда

  • Аппаратное обеспечение: четырехъядерный процессор MacBook Pro Intel Core i7
  • Система: macOS Big Sur 11.4.2, версия xcode 13.1, cmake 3.20.5
  • Программное обеспечение: iterm2 Build 3.4.8, zsh 5.8, Android Studio Dolphin | 2021.3.1
  • cocos2d-x v4:
    официальный пакет загрузки http://cocos2d-x.org/filedown/cocos2d-x-v4.0

помещение

1. Правильно установили и настроили набор инструментов cocos.
2. Создайте GameDemo с помощью команды cocos и
создайте демо, выполнив следующие шаги.

# luogw @ ericluodeMacBook-Pro in ~/study/cocos/localCreateDemo [18:29:01]
$ pwd
/Users/luogw/study/cocos/localCreateDemo
$ cocos new AndGame -p com.luo.game -l cpp -d .
$ cd AndGame
$ mkdir build
$ cd build
$ cocos run --proj-dir .. -p android

Вы столкнетесь с ним на последнем шаге (чтобы на самом деле решить эту проблему, возможно, вам придется изучить исходный код команды cocos),
вставьте сюда описание изображения
а затем мы перейдем к proj.android каталога созданного проекта и посмотрим на него,
вставьте сюда описание изображения
как показано выше. Это похоже на очень полный проект Android. Откройте его с помощью AS для компиляции и посмотрите

Столкнуться с проблемами

Если вы откроете его напрямую с помощью AS и попытаетесь собрать его, вы столкнетесь со следующими тремя проблемами.

1、cvc-complex-type.2.4.a: 发现了以元素 ‘base-extension‘ 开头的无效内容。应以 ‘{layoutlib}‘ 之一开头
2、ERROR: Minimum supported Gradle version is 5.4.1. Current version is 5.1.1.
3、No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi

Основываясь на прошлом опыте, пришло время обновить версию gradle и версию ndk.

решение

1. Обновите версию gradle.
2. Настройте
вставьте сюда описание изображения
содержимое файла различий ndkversion следующим образом (скопируйте следующее содержимое в файл, а затем используйте команду patch для установки демонстрации)

diff --git a/cocos2d/cocos/platform/android/libcocos2dx-with-controller/build.gradle b/cocos2d/cocos/platform/android/libcocos2dx-with-controller/build.gradle
index 94f3dd4..399a3fb 100644
--- a/cocos2d/cocos/platform/android/libcocos2dx-with-controller/build.gradle
+++ b/cocos2d/cocos/platform/android/libcocos2dx-with-controller/build.gradle
@@ -2,6 +2,7 @@ apply plugin: 'com.android.library'

 android {
     compileSdkVersion PROP_COMPILE_SDK_VERSION.toInteger()
+    ndkVersion "21.3.6528147"

     defaultConfig {
         minSdkVersion PROP_MIN_SDK_VERSION
diff --git a/cocos2d/cocos/platform/android/libcocos2dx/build.gradle b/cocos2d/cocos/platform/android/libcocos2dx/build.gradle
index 44f9a32..50f198b 100644
--- a/cocos2d/cocos/platform/android/libcocos2dx/build.gradle
+++ b/cocos2d/cocos/platform/android/libcocos2dx/build.gradle
@@ -3,6 +3,8 @@ apply plugin: 'com.android.library'
 android {
     compileSdkVersion PROP_COMPILE_SDK_VERSION.toInteger()

+    ndkVersion "21.3.6528147"
+
     defaultConfig {
         minSdkVersion PROP_MIN_SDK_VERSION
         targetSdkVersion PROP_TARGET_SDK_VERSION
diff --git a/proj.android/app/build.gradle b/proj.android/app/build.gradle
index e91e946..db95423 100644
--- a/proj.android/app/build.gradle
+++ b/proj.android/app/build.gradle
@@ -4,7 +4,7 @@ apply plugin: 'com.android.application'

 android {
     compileSdkVersion PROP_COMPILE_SDK_VERSION.toInteger()
-
+    ndkVersion "21.3.6528147"
     defaultConfig {
         applicationId "com.luo.game"
         minSdkVersion PROP_MIN_SDK_VERSION
diff --git a/proj.android/build.gradle b/proj.android/build.gradle
index 5dff94d..fbce19f 100644
--- a/proj.android/build.gradle
+++ b/proj.android/build.gradle
@@ -7,7 +7,7 @@ buildscript {
     }

     dependencies {
-        classpath 'com.android.tools.build:gradle:3.1.0'
+        classpath 'com.android.tools.build:gradle:3.5.0'

         // NOTE: Do not place your application dependencies here; they belong
         // in the individual module build.gradle files
diff --git a/proj.android/gradle/wrapper/gradle-wrapper.properties b/proj.android/gradle/wrapper/gradle-wrapper.properties
index 8e341b7..02471c8 100644
--- a/proj.android/gradle/wrapper/gradle-wrapper.properties
+++ b/proj.android/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-bin.zip

окончательная сборка

С проектом синхронизации все в порядке, и прямой запуск
будет плавным, наслаждайтесь ...
вставьте сюда описание изображения
эффектом запуска демо на мобильном телефоне.
вставьте сюда описание изображения

Supongo que te gusta

Origin blog.csdn.net/SCHOLAR_II/article/details/128164478
Recomendado
Clasificación