Android 我可以重构名称libcocos2dcpp.so吗?

Android 我可以重构名称libcocos2dcpp.so吗?,android,cocos2d-x,cocos2d-x-3.0,cocos2d-x-2.x,Android,Cocos2d X,Cocos2d X 3.0,Cocos2d X 2.x,libcocos2dcpp.so位于路径proj.android\libs\armeabi 1)我想学习在将名称“libcocos2dcpp.so”更改为某个“randomname.so”后如何修改它的外观 (意图是,不确定,但如果人们不知道它是在哪种情况下制作的,它可能有助于保护我的游戏的源代码,我的意思是cpp,因为libcocos2dcpp.so最后有cpp) 2)另外,这个libcocos2dcpp.so是我每次构建代码时新创建的还是在整个生命周期中都保持不变?您可以使用Android.

libcocos2dcpp.so位于路径proj.android\libs\armeabi

1)我想学习在将名称“libcocos2dcpp.so”更改为某个“randomname.so”后如何修改它的外观

(意图是,不确定,但如果人们不知道它是在哪种情况下制作的,它可能有助于保护我的游戏的源代码,我的意思是cpp,因为libcocos2dcpp.so最后有cpp


2)另外,这个libcocos2dcpp.so是我每次构建代码时新创建的还是在整个生命周期中都保持不变?

您可以使用Android.mk文件中的
本地模块文件名来更改库名。根据ANDROID NDK文件夹下的ANDROID-MK文件:

LOCAL_MODULE_FILENAME
    This variable is optional, and allows you to redefine the name of
    generated files. By default, module <foo> will always generate a
    static library named lib<foo>.a or a shared library named lib<foo>.so,
    which are standard Unix conventions.

    You can override this by defining LOCAL_MODULE_FILENAME, For example:

        LOCAL_MODULE := foo-version-1
        LOCAL_MODULE_FILENAME := libfoo

    NOTE: You should not put a path or file extension in your
    LOCAL_MODULE_FILENAME, these will be handled automatically by the
    build system.
因此,构建系统将自动将库构建为
librandomname.so

别忘了在Android
活动中更改代码:

static {
    System.loadLibrary("randomname");
}

错误的假设,省去你的麻烦。将二进制文件反编译成C++是不可行的,不会产生可用的结果;知道从哪里开始做这件事的人不会因为包含的库的名称而被推迟。那么,你是说这个二进制文件在编译过程中保持不变,并且不是每次我构建cocos2d-x项目时都构建的吗?不,我不是这么说的;你从哪儿弄来的?请再读一遍评论,理解我所说的。您使用的是哪一版本的cocos2d-x?@323go,为什么会产生无法使用的结果?非常感谢。你能告诉我把代码System.loadLibrary(“randomname”)放在哪里吗;因为在Cocos2dxActivity.java中,我发现了以下代码>>受保护的void onLoadNativeLibraries(){try{ApplicationInfo ai=getPackageManager().getApplicationInfo(getPackageName(),PackageManager.GET_META_DATA);Bundle Bundle=ai.metaData;String libName=Bundle.getString(“android.app.lib_name”);System.loadLibrary(libName);}catch(异常e){e.printStackTrace();}}我认为上面的代码块有点乱。又来了。在Cocos2dxActivity.java中,我找到了字符串libName=bundle.getString(“android.app.lib_name”);系统加载库(libName);那么我应该在这里替换什么呢?
static {
    System.loadLibrary("randomname");
}