我创建了一个SDK,目前适用于Android和iOS.但是现在我还要在cocos2d平台上给予支持.
有没有人如何实现这一目标?我已经使用本机SDK工作了.但我正在浏览一些博客,但无法找到任何文档或博客的简单教程来做到这一点.
有一点我知道它需要NDK和JNI的知识,我对它的了解非常少.
所以可以请任何人指导我或给我一些关于如何在我的SDK的cocos2d中创建扩展的链接或教程.
谢谢.
我正在尝试创建一个SDK,其中我有几个图像和.jar文件中的所有类.
我已经为android SDK创建了Unity插件和桥接类.功能在SDK中运行良好.但我面临以下问题,我在这个SDK中以编程方式创建所有视图,
在原生android中它工作正常.使用该context.getClassLoader.getResourceAsStream方法可以访问图像,我可以InputStream很好地获得图像,并在创建视图时显示图像.
但是当我从Unity插件和android-bridge类调用SDK时,我得到null了InputStream.
有没有人对此有任何想法?以及如何解决这个问题.提前致谢.
我被Surfaceview和运行时问题困扰,
我需要在主要活动中使用Surfaceview显示摄像机预览,因此我在调用代码以显示摄像机预览时要求运行时权限。
但是我在授予摄像头许可后立即初始化Surfaceview,那时surfaceCreated()回调从不调用,并且许可也被授予(我已经从“设置”中进行了检查)。
一旦我杀死了该应用程序并再次打开,它在此之后将非常完美。
这是我的诱人代码,
在MainActivity中
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
initCameraPreview();
}
Run Code Online (Sandbox Code Playgroud)
在initCameraPreview()方法中,
public void initCameraPreview(){
StartCameraPreview preview = new StartCameraPreview(context, surfaceView);
preview.onCreate();
}
Run Code Online (Sandbox Code Playgroud)
我在SurfaceView的类中创建了 StartCameraPreview.java
public StartCameraPreview(Context context, SurfaceView surfaceView) {
this.mContext = context;
this.surfaceView = surfaceView;
}
public void onCreate() {
if (checkCameraHardware()) {
mCamera = getCameraInstance();
// configure preview
previewHolder = surfaceView.getHolder();
previewHolder.addCallback(surfaceCallback);
previewHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
}
Run Code Online (Sandbox Code Playgroud)
对不起,我不能分享很多代码。所以我刚刚添加了初始化代码。有谁遇到过这个问题,或者有人知道任何解决方案吗?
请帮助adv中的谢谢。