-
Creator 版本:2.3.4
-
目标平台: Android
-
详细报错信息,包含调用堆栈:
错误: 找不到符号
符号: 类 R
位置: 程序包 org.cocos2dx.javascript -
重现方式:新建空项目构建android studio项目,在android studio中res下添加启动图片资源,添加启动类SplashActivity
package org.cocos2dx.javascript.activity;
import android.os.Bundle;
import android.view.View;
import android.view.WindowManager;
import android.widget.FrameLayout;
import android.widget.ImageView;
import org.cocos2dx.javascript.R;//就是这边import有问题,这边是编辑器自动添加的
import org.cocos2dx.lib.Cocos2dxActivity;
public class SplashActivity extends Cocos2dxActivity {
private static Cocos2dxActivity sCocos2dxActivity;
private static ImageView sSplashBgImageView = null;
private static void showSplash() {
sSplashBgImageView = new ImageView(sCocos2dxActivity);
sSplashBgImageView.setImageResource(R.drawable.splash_slogan_with_bg);
sSplashBgImageView.setScaleType(ImageView.ScaleType.FIT_XY);
sCocos2dxActivity.addContentView(sSplashBgImageView,
new WindowManager.LayoutParams(
FrameLayout.LayoutParams.MATCH_PARENT,
FrameLayout.LayoutParams.MATCH_PARENT
)
);
}
/**
* 这是给 CC JS 调用的隐藏原生开屏背景的方法
*/
public static void hideSplash() {
sCocos2dxActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
if (sSplashBgImageView != null) {
sSplashBgImageView.setVisibility(View.GONE);
}
}
});
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
sCocos2dxActivity = this;
showSplash();
}
}
备注:
import org.cocos2dx.javascript.R;这个引用是编辑器自动添加的,以前用2.0.10版本的时候引用的是项目的包名,但是2.3.4这个版本构建出的包无法引用包名,提示无法找到。
-
之前哪个版本是正常的 :
-
手机型号 :
-
手机浏览器 :
-
编辑器操作系统 :
-
编辑器之前是否有其它报错 :
-
出现概率:
-
额外线索:
android studio 版本:3.4.1
gradle plugins:3.2.0
gradle:4.10.3
主要是引用R的问题,之前用2.0.10可以直接import项目包名,但是现在找不到了,编辑器自动添加了javascript的包,在编辑器下没报错,但是build会报错。改成import包名,可以直接运行不报错,功能也正常,但是build会报错。想问下是不是gradle版本错误的问题。