-1

我正在尝试为 Android 编译 Soomla Cocos2dx-store,我使用的是昨天的 Git 版本。这是我第一次在 cocos2dx/Android 上使用 soomla。我收到奇怪的编译错误:“找不到 soomla 包”。

[javac] /COCOS_PROJ/proj.android/src/org/cocos2dx/cpp/AppActivity.java:31: package com.soomla.cocos2dx.common does not exist
[javac] import com.soomla.cocos2dx.common.ServiceManager;
[javac]                                  ^

或喜欢

[javac] /COCOS_PROJ/proj.android/src/org/cocos2dx/cpp/AppActivity.java:42: cannot find symbol
[javac] symbol  : class ServiceManager
[javac] location: class org.cocos2dx.cpp.AppActivity
[javac]         final ServiceManager SOOMLACORE = ServiceManager.getInstance();
[javac]               ^

我使用: Cocos2dx v3.3 rc1 / Android SDK API-20 / NDK r10c (compiler 4.9) / ADT (eclipse juno version OSX) / Soomla (core & store) from Git 于 2014-12-02 下载(都是昨天)

我按照以下说明集成 soomla: https ://github.com/soomla/cocos2dx-store#instructions-for-android来集成 soomla。

所以我完成了该页面上的所有要求并使用“Java 构建路径”中的 [add Jars] 添加:SoomlaAndroidCore.jar / Cocos2dxAndroidCore.jar / square-otto-1.3.2.jar 和 SoomlaAndroidStore.jar / Cocos2dxAndroidStore.jar 然后最后是AndroidStoreGooglePlay.jar

即使从终端“cocos run -p android .....”我也得到同样的错误。在 Eclipse 中,我在“project/c-c++ build/builder/build command”下使用了这个命令:

/COCOS2DX/v3.3rc1/tools/cocos2d-console/bin/cocos run -p android -s ${ProjDirPath} -m release

你能帮我解决这个问题吗?

这是我使用的 AppActivity.java:

package org.cocos2dx.cpp;

import org.cocos2dx.lib.Cocos2dxActivity;
import org.cocos2dx.lib.Cocos2dxGLSurfaceView;

import com.soomla.cocos2dx.common.ServiceManager;
import com.soomla.cocos2dx.store.StoreService;

public class AppActivity    extends Cocos2dxActivity {
@Override public Cocos2dxGLSurfaceView onCreateView()   {
    Cocos2dxGLSurfaceView glSurfaceView = new Cocos2dxGLSurfaceView(this);
    glSurfaceView.setEGLConfigChooser(5, 6, 5, 0, 16, 8);

    final ServiceManager SOOMLACORE = ServiceManager.getInstance();

    SOOMLACORE.setActivity(this);
    SOOMLACORE.setGlSurfaceView(glSurfaceView);
    SOOMLACORE.registerService(StoreService.getInstance());

    return glSurfaceView;
}
....

所以在 IDE 下,Eclipse 不会检测到来自 AppActivity.java 源的任何错误。仅在编译期间出现错误

4

1 回答 1

1

最后我已经能够解决这个问题。其实在 cocos2dx-store 的 git 页面上,指令是这样的:

  1. 将以下 jar 添加到您的 android 项目的类路径中:

来自扩展/soomla-cocos2dx-core/build/android

SoomlaAndroidCore.jar Cocos2dxAndroidCore.jar square-otto-1.3.2.jar 来自 extensions/cocos2dx-store/build/android

SoomlaAndroidStore.jar Cocos2dxAndroidStore.jar

所以我使用“Java 构建路径”中的 [add Jars] 来添加它们。但这还不够。您还需要在 Eclipse 项目的“Libs”目录中导入所有 Jars。这就是 javac 能够找到这些 jar 的地方。

所以要让它发挥作用,

右键单击 Libs 文件夹

点击导入

在菜单中选择:“常规/文件系统”

浏览到你的 jars 所在的 soomla 目录并一一添加,这样

我希望这会有所帮助。也许 Soomla 团队应该解决这个问题,或者更新 Git Readme.MD 文件以获得更好的指导

于 2014-12-04T18:44:23.783 回答