从命令行构建时,获取“包R不存在”

时间:2014-02-20 03:04:35

标签: android android-ndk cocos2d-x

我使用Eclipse在单独的项目上创建了一个活动。当我将它导入我的cocos2d-x android项目并使用python build_native.py(基本上使用NDK构建应用程序)和ant debug构建项目时,我收到错误消息:

error: package R does not exist

指向这一行:

setContentView(R.layout.some_activity);
                ^

我在cocos2d-x项目中添加了res/layout/some_activity.xml以及清单条目:

<application
    <!-- <application> tag info --> >
    <activity
        <!-- cocos2d-x native activity --> >
    </activity>

    <!-- the activity I imported -->
    <activity
        android:name="com.mycompany.myapp.SomeActivity"
        android:label="" 
        android:theme="@android:style/Theme.Dialog"
        android:excludeFromRecents="true" 
        android:noHistory="true" 
    />
</application>

我还复制了*.java文件夹中所需的src文件(完全相同的文件夹结构)。 我还尝试手动清除(删除bingenobjassets文件夹)和ant clean。我没有使用Eclipse来构建,只能从命令行构建。

编辑:我还尝试在import com.mycompany.myapp.R;上添加import com.mycompany.R;SomeActivity.java,但它仍然无法修复。

如何修复此错误?我缺少的任何其他步骤?

2 个答案:

答案 0 :(得分:2)

我必须导入cocos2d-x项目的包名,而不是导入活动的包名。

例如,如果您的cocos2d-x项目的软件包名称为com.mycompany.cocosapp且导入的活动的软件包名称为com.mycompany.myapp,请导入com.mycompany.cocosapp.R而不是com.mycompany.myapp.R

答案 1 :(得分:0)

删除bin文件夹并重建你需要使用ant构建它的bin文件夹,然后运行它。