2015-03-11 7 views
0

libcocos2dcpp.so находится на пути proj.android \ ЛИЭС \ armeabiМогу ли я назвать рефакторинг libcocos2dcpp.so?

1) Я хочу научиться изменять, как она выглядит после изменения названия «libcocos2dcpp.so» в какой-то «randomname.so "

(Намерение существо, не уверен, но это может помочь в защите исходного кода моей игры, если люди не будут знать, в каком вещь это сделано, я имею в виду CPP потому что libcocos2dcpp.so имеет CPP в его конце)

2) Кроме того, это libcocos2dcpp.so создается каждый раз при создании моего кода или он остается таким же на протяжении всего его жизненного цикла?

+0

Wrong предположение, избавить себя от хлопот. Декомпиляция двоичного кода на C++ неосуществима и не даст полезных результатов; кто-то, кто знает, с чего начать делать это, не будет отложен по имени включенной библиотеки. – 323go

+0

Итак, вы говорите, что этот бинарный файл, который скомпилирован, остается таким же через жизнь и не строит каждый раз, когда я создаю проект cocos2d-x? – myDoggyWritesCode

+0

Нет, это не то, что я сказал; где вы это понимаете? Пожалуйста, прочитайте комментарий еще раз, чтобы понять, что я сказал. – 323go

ответ

0

Вы можете изменить свое имя lib, используя LOCAL_MODULE_FILENAME в файле Android.mk. Согласно документу ANDROID-МК в папке Android-НДК:

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. 

Вы можете просто переименовать Lib имя файла как

LOCAL_MODULE := randomname 
LOCAL_MODULE_FILENAME := librandomname 

поэтому система сборки будет автоматически строить LIB как librandomname.so.

И не забудьте изменить код в Android Activity:

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

Большое спасибо. Можете ли вы рассказать мне, где поставить код System.loadLibrary ("randomname"); потому что в Cocos2dxActivity.java я нашел следующий код >> protected void onLoadNativeLibraries() { try { ApplicationInfo ai = getPackageManager(). getApplicationInfo (getPackageName(), PackageManager.GET_META_DATA); Пакет пучков = ai.metaData; Строка libName = bundle.getString ("android.app.lib_name"); System.loadLibrary (libName); } catch (Исключение e) { e.printStackTrace(); } } – myDoggyWritesCode

+0

Я думаю, что блок кода выше стал немного беспорядочным. Так вот, это снова. В Cocos2dxActivity.java я нашел, String libName = bundle.getString ("android.app.lib_name"); Система.LoadLibrary (Имя_библиотеки); Так что я должен здесь заменить? – myDoggyWritesCode

+0

Спасибо, что сработало – myDoggyWritesCode

Смежные вопросы