【问题标题】:Soomla : Cocos2dx : Store : Android "package not found"Soomla:Cocos2dx:商店:Android“找不到包”
【发布时间】:2015-01-31 17:32:22
【问题描述】:

我正在尝试为 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 月 2 日下载(两者昨天)

我按照以下说明集成了 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 源的任何错误。仅在编译期间出现错误

【问题讨论】:

    标签: android cocos2d-x integration store soomla


    【解决方案1】:

    我终于能够解决问题了。 其实在cocos2dx-store git页面上,指令是这样的:

    1. 将以下 jars 添加到您的 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 文件以获得更好的指导

    【讨论】:

    • 请注意,“Libs”目录仅在构建后(./build_native.py)或使用终端命令“cocos run -p android”自动生成。否则你不会看到它。
    • 您可以手动创建 Libs 目录,然后导入 jars。它甚至更好
    猜你喜欢
    • 2017-06-23
    • 2016-09-30
    • 2022-09-24
    • 2019-08-29
    • 2013-11-13
    • 1970-01-01
    • 1970-01-01
    • 2019-12-21
    • 2018-03-13
    相关资源
    最近更新 更多