ubuntu下安装cocos2d
折腾了半天,源代码有bug,自己修改了一下才可以用 环境ubuntu12.10 cocos2d-x最新版本 1. git clonehttps://github.com/cocos2d/cocos2d-x.git下载cocos2d-x源代码 2. 官方下载ndk,我的是64位版本android-ndk-r8e 3. 官方下载sdk,我的eclipse之前已经下载过
折腾了半天,源代码有bug,自己修改了一下才可以用
环境ubuntu12.10 + cocos2d-x最新版本
1. git clone https://github.com/cocos2d/cocos2d-x.git下载cocos2d-x源代码
2. 官方下载ndk,我的是64位版本android-ndk-r8e
3. 官方下载sdk,我的eclipse之前已经下载过了,直接拿来用android-sdks
4. 进入cocos2d-x,开始编译,不过g++版本要修改为4.6或以上
5. 打开./make-all-linux-project.sh, 修改NDK和SDK的路径,运行 ./make-all-linux-project.sh,等待几分钟即可编译完成
6. 运行./create-android-project.sh来根据提示创建一个工程
问题就出现在第六步,总是提示:
cp: 无法获取"/home/lsc/disk/cocos2d-x/cocos2d-x/samples/Cpp/HelloCpp/proj.android/{jni,src}" 的文件状态(stat): 没有那个文件或目录
/home/lsc/disk/cocos2d-x/cocos2d-x/template/android/gamemk.sh: 32: /home/lsc/disk/cocos2d-x/cocos2d-x/template/android/gamemk.sh: cannot create /home/lsc/disk/cocos2d-x/cocos2d-x/Hello/proj.android/jni/Android.mk: Directory nonexistent
sed: 无法读取 /home/lsc/disk/cocos2d-x/cocos2d-x/Hello/proj.android/src/org/cocos2dx/hellocpp/HelloCpp.java: 没有那个文件或目录
发现在template/android/copy_files.sh中出错在这一行
cp -rf $HELLOWORLD_ROOT/proj.android/{jni,src} $APP_DIR/proj.android
没办法,把他们分开写成两行去:
cp -rf $HELLOWORLD_ROOT/proj.android/jni $APP_DIR/proj.android
cp -rf $HELLOWORLD_ROOT/proj.android/src $APP_DIR/proj.android
保存再编译,问题解决了
7. 接着进入刚才创建好的工程目录下,我的名字叫firstdemo,该工程下有proj.android目录,进入运行脚本./build_native.sh,这样过了两分钟,编译C++生成libgame.so库
8.我们好要编译android apk,所以打开eclipse,导入该工程,这时候由于没有加入jar包,所以会提示有些java类找不到
9.jar包路径在cocos2d-x/cocos2dx/platform/android/java/bin/libcocos2dx.jar,我刚开始的时候是按照网上的方法导入jar包的,就是右键项目->build path ->configrue build path-> add external JARs, 这样是没有语法错误了,编译也成功了, 可是运行apk的时候总是提示如下log:
W/dalvikvm( 4677): Unable to resolve superclass of Lcom/android/cocos2dx/demo/firstdemo; (21)
W/dalvikvm( 4677): Link of class 'Lcom/android/cocos2dx/demo/firstdemo;' failed
D/AndroidRuntime( 4677): Shutting down VM
W/dalvikvm( 4677): threadid=1: thread exiting with uncaught exception (group=0x40aa5930)
I/SurfaceFlinger( 1076): GraphicBufferAlloc::createGraphicBuffer
E/AndroidRuntime( 4677): FATAL EXCEPTION: main
E/AndroidRuntime( 4677): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.android.cocos2dx.demo/com.android.cocos2dx.demo.firstdemo}: java.lang.ClassNotFoundException: Didn't find class "com.android.cocos2dx.demo.firstdemo" on path:
/data/app/com.android.cocos2dx.demo-2.apk
E/AndroidRuntime( 4677): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2106)
E/AndroidRuntime( 4677): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
E/AndroidRuntime( 4677): at android.app.ActivityThread.access$600(ActivityThread.java:141)
E/AndroidRuntime( 4677): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
E/AndroidRuntime( 4677): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 4677): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime( 4677): at android.app.ActivityThread.main(ActivityThread.java:5041)
E/AndroidRuntime( 4677): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 4677): at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime( 4677): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
E/AndroidRuntime( 4677): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
E/AndroidRuntime( 4677): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 4677): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.android.cocos2dx.demo.firstdemo" on path: /data/app/com.android.cocos2dx.demo-2.apk
E/AndroidRuntime( 4677): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65)
刚开始以为AndroidMainfest.xml的 android:name有问题,可是怎么修改都不行,仔细看了log才发现Unable to resolve superclass of这一句,很明显是找不到jar包的类了
果断怀疑是jar包导入的问题,接着把刚导入的jar包删除,直接复制libcocos2dx.jar文件,在eclipse窗口中右击libs文件夹,直接选择粘帖,再运行,问题解决,可以看到
画面了,网上也找到一个据说是正确导入jar包的方法,原文如下:
在网上查了一下,有人说上面的做法有可能会出错,建议采用下面的步骤:
右键工程,
Build path,
java build path,选择libraries
在右边的按钮中点击“Add Library”
选择“User library”,点击“下一步”
点击“User librarys”按钮
在出现的界面中点击“New..”按钮
在弹出的界面中随便起一个名字,点击“确定”
点击“Add jars”按钮选择第三方jar包,点击“确定”完成操作。
这样的话该jar包会被一起打包到apk中,问题也就解决了!
接着我发现这样子每次都要先在shell中编译C++部分,然后在eclipse中编译android部分,很麻烦,网上找了一下,有没有解决,找到了一篇比较详细的说明,直接拿来用,发现没问题,原文如下:
http://www.ityran.com/archives/1062
通过命令脚本来编译c++代码,完了之后用eclipse来编译java代码,这种来回切换的做法非常笨重。如果全部可以用eclipse来完成的话,那么生活会更简单一些。
幸运的是,我们可以告诉eclipse,我们的android项目是一个集成java/c++的跨语言项目!
为此,我们在左边的项目树上选择samplecocos2dxandroid,然后从菜单里面选择File\New\Other,然后从对话框里面选择C/C++\Convert to a C/C++ Project,如下所示:
点击Next。在下一个屏幕里面,选中你的项目,然后选择c++单选按钮,然后为Project type指定Makefile project\Other Toolchain,如下所示:
点击完成。这时eclipse会询问你是否打开C/C++视图,当对话框出现的时候,选择NO。
接下来的步骤就是修改项目设置,指定如何运行我们的make命令。在左边的项目树上,右击samplecocos2dxandroid工程,选择Properties,然后选择C/C++ build
取消“Use default build command”复选框,然后在build文本框中输入下面的命令:
<ol><li value="1">bash ${workspace_loc:/samplecocos2dxandroid}/build_native.sh NDK_DEBUG=1 V=1</li></ol>
点击Apply,然后点OK。
回到eclipse,从主菜单中选择Project\Build All,这时你可以在eclipse的控制台输出中看到c++ make在运行。
我们仍然有一些警告需要解决。想知道我是什么意思吗,你打开jni/helloworld/main.cpp,这里你会看到一系列的警告,如下所示:
这些警告之所以会出现,是因为我们没有配置正确的c++包含路径。为了解决它,我们右击samplecocos2dxandroid工程,然后选择Properties\C/C++ General\Path and Symbols\GNU C++。
选择Add…按钮来选择下面的目录,之后点击Apply和OK。
<ol><li value="1">$(NDKROOT)/platforms/android-9/arch-arm/usr/include $(COCOS2DX_HOME)/cocos2dx/include</li></ol>
注意: 不用忘了使用实际的路径来替换掉$(NDKROOT)和$(COCOS2DX_HOME)。
点击Apply,这时会提示你是否重建索引。直接点击yes继续就可以了。
现在,你再看看main.cpp,你会看到大部分警告已经消失了。
但是,AppDelegate.h文件还是找不到。这是因为AppDelegate.h是在$PROJECT_HOME\Classes文件夹下面。这个文件夹对我们来说非常重要,因为它包含了我们工程里面的可移植的c++类,比如HelloWorldScene.cpp等。
当我们创建eclipse项目的时候,我们必须选择$PROJECT_HOME\android文件夹,因为eclipse需要一个AndroidManifest.xml文件。但是,这样的话,我们的工程就不包括关键的“Classes”文件夹了,这也是为什么我们会得到这么多警告的原因。
让我们来修正它吧。右击samplecocos2dxandroid项目,选择Properties\C/C++ General\Paths and Symbols\Source location。点击Link Folder,然后复选中Link to a folder in the file system,接着浏览到$PROJECT_HOME文件夹,并指向Classes目录,最后点Apply和OK。
你现在可以在文件树里面看到Classes目录了,而且在main.cpp里面的#include “AppDelegate.h”警告也应该消失了。
Eclipse工程里面还会有许多警告,但是,这是因为eclipse对于解析c++头文件的能力并不强大。为了消除这些警告,我们又需要设置一下项目设置。(右键点工程,然后选择Properties),把Code Analysis部分的warnings关闭,如下图所示:
然后点击Apply和OK,这时,你就得到一个工程可以在eclipse里面进行编辑了。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Lösung für das Problem, dass das Win11-System das chinesische Sprachpaket nicht installieren kann. Mit der Einführung des Windows 11-Systems begannen viele Benutzer, ihr Betriebssystem zu aktualisieren, um neue Funktionen und Schnittstellen zu nutzen. Einige Benutzer stellten jedoch fest, dass sie das chinesische Sprachpaket nach dem Upgrade nicht installieren konnten, was ihre Erfahrung beeinträchtigte. In diesem Artikel besprechen wir die Gründe, warum das Win11-System das chinesische Sprachpaket nicht installieren kann, und stellen einige Lösungen bereit, die Benutzern bei der Lösung dieses Problems helfen. Ursachenanalyse Lassen Sie uns zunächst die Unfähigkeit des Win11-Systems analysieren

Möglicherweise können Sie keine Gastzusätze zu einer virtuellen Maschine in OracleVirtualBox installieren. Wenn wir auf Geräte>InstallGuestAdditionsCDImage klicken, wird einfach ein Fehler wie unten gezeigt ausgegeben: VirtualBox – Fehler: Virtuelles Laufwerk C kann nicht eingefügt werden: DateienOracleVirtualBoxVBoxGuestAdditions.iso in die Ubuntu-Maschine programmieren In diesem Beitrag werden wir verstehen, was passiert, wenn Sie. Was zu tun ist, wenn Sie Gastzusätze können in VirtualBox nicht installiert werden. Gastzusätze können nicht in VirtualBox installiert werden. Wenn Sie es nicht in Virtua installieren können

In Ubuntu-Systemen ist der Root-Benutzer normalerweise deaktiviert. Um den Root-Benutzer zu aktivieren, können Sie mit dem Befehl passwd ein Passwort festlegen und sich dann mit dem Befehl su- als Root anmelden. Der Root-Benutzer ist ein Benutzer mit uneingeschränkten Systemadministratorrechten. Er verfügt über Berechtigungen zum Zugriff auf und zum Ändern von Dateien, zur Benutzerverwaltung, zum Installieren und Entfernen von Software sowie zum Ändern der Systemkonfiguration. Es gibt offensichtliche Unterschiede zwischen dem Root-Benutzer und normalen Benutzern. Der Root-Benutzer verfügt über die höchste Autorität und umfassendere Kontrollrechte im System. Der Root-Benutzer kann wichtige Systembefehle ausführen und Systemdateien bearbeiten, was normale Benutzer nicht können. In dieser Anleitung werde ich den Ubuntu-Root-Benutzer untersuchen, wie man sich als Root anmeldet und wie er sich von einem normalen Benutzer unterscheidet. Beachten

Wenn Sie die Installationsdatei von Baidu Netdisk erfolgreich heruntergeladen haben, sie aber nicht normal installieren können, liegt möglicherweise ein Fehler in der Integrität der Softwaredatei vor oder es liegt ein Problem mit den verbleibenden Dateien und Registrierungseinträgen vor Lassen Sie uns die Analyse des Problems vorstellen, dass Baidu Netdisk erfolgreich heruntergeladen, aber nicht installiert werden kann. Analyse des Problems, dass Baidu Netdisk erfolgreich heruntergeladen, aber nicht installiert werden konnte 1. Überprüfen Sie die Integrität der Installationsdatei: Stellen Sie sicher, dass die heruntergeladene Installationsdatei vollständig und nicht beschädigt ist. Sie können es erneut herunterladen oder versuchen, die Installationsdatei von einer anderen vertrauenswürdigen Quelle herunterzuladen. 2. Deaktivieren Sie Antivirensoftware und Firewall: Einige Antivirensoftware oder Firewallprogramme verhindern möglicherweise die ordnungsgemäße Ausführung des Installationsprogramms. Versuchen Sie, die Antivirensoftware und die Firewall zu deaktivieren oder zu beenden, und führen Sie dann die Installation erneut aus

Um die Curl-Version unter Linux zu aktualisieren, können Sie die folgenden Schritte ausführen: Überprüfen Sie die aktuelle Curl-Version: Zunächst müssen Sie die im aktuellen System installierte Curl-Version ermitteln. Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus: curl --version Dieser Befehl zeigt die aktuellen Informationen zur Curl-Version an. Verfügbare Curl-Version bestätigen: Bevor Sie Curl aktualisieren, müssen Sie die neueste verfügbare Version bestätigen. Sie können die offizielle Website von Curl (curl.haxx.se) oder verwandte Softwarequellen besuchen, um die neueste Version von Curl zu finden. Laden Sie den Curl-Quellcode herunter: Laden Sie mit Curl oder einem Browser die Quellcodedatei für die Curl-Version Ihrer Wahl herunter (normalerweise .tar.gz oder .tar.bz2).

Die Installation von Android-Anwendungen unter Linux war für viele Benutzer schon immer ein Problem. Insbesondere für Linux-Benutzer, die gerne Android-Anwendungen verwenden, ist es sehr wichtig, die Installation von Android-Anwendungen auf Linux-Systemen zu beherrschen. Obwohl die direkte Ausführung von Android-Anwendungen unter Linux nicht so einfach ist wie auf der Android-Plattform, können wir mithilfe von Emulatoren oder Tools von Drittanbietern Android-Anwendungen unter Linux dennoch problemlos genießen. Im Folgenden wird erläutert, wie Android-Anwendungen auf Linux-Systemen installiert werden.

Für viele Benutzer klingt das Hacken einer Android-TV-Box entmutigend. Allerdings stand Entwickler Murray R. Van Luyn während der Broadcom-Chipknappheit vor der Herausforderung, nach geeigneten Alternativen zum Raspberry Pi zu suchen. Seine Zusammenarbeit mit der Armbia

Angular.js ist eine frei zugängliche JavaScript-Plattform zum Erstellen dynamischer Anwendungen. Es ermöglicht Ihnen, verschiedene Aspekte Ihrer Anwendung schnell und klar auszudrücken, indem Sie die Syntax von HTML als Vorlagensprache erweitern. Angular.js bietet eine Reihe von Tools, die Sie beim Schreiben, Aktualisieren und Testen Ihres Codes unterstützen. Darüber hinaus bietet es viele Funktionen wie Routing und Formularverwaltung. In dieser Anleitung wird erläutert, wie Angular auf Ubuntu24 installiert wird. Zuerst müssen Sie Node.js installieren. Node.js ist eine JavaScript-Ausführungsumgebung, die auf der ChromeV8-Engine basiert und es Ihnen ermöglicht, JavaScript-Code auf der Serverseite auszuführen. In Ub sein
