|
NDK проблема
|
|||
---|---|---|---|
#18+
Скачал версию 10d, разархивировал в каталог, взял из NDK пример hello-neon скопировал в другую папку, импортировал его в студию и пытаюсь запустить. Сразу студия выдала ошибку: Error:Execution failed for task ':app:compileDebugNdk'. > NDK not configured. Download the NDK from http://developer.android.com/tools/sdk/ndk/.Then add ndk.dir=path/to/ndk in local.properties. (On Windows, make sure you escape backslashes, e.g. C:\\ndk rather than C:\ndk) Ок - добавил то чего она хочет в local.properties т .е. там уже: sdk.dir=E\:\\Developer\\android-sdk ndk.dir=E\:\\Developer\\android-ndk-r10d Синхронизировал проект с gradle, запускаю и получаю ошибку: Error:Execution failed for task ':app:compileDebugNdk'. > com.android.ide.common.internal.LoggedErrorException: Failed to run command: E:\Developer\android-ndk-r10d\ndk-build.cmd NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=E:\android_test_project\hello-neon\app\build\intermediates\ndk\debug\Android.mk APP_PLATFORM=android-21 NDK_OUT=E:\android_test_project\hello-neon\app\build\intermediates\ndk\debug\obj NDK_LIBS_OUT=E:\android_test_project\hello-neon\app\build\intermediates\ndk\debug\lib APP_ABI=all Error Code: 2 Output: E:\android_test_project\hello-neon\app\src\main\jni\helloneon.c:21:26: fatal error: cpu-features.h: No such file or directory #include <cpu-features.h> ^ compilation terminated. make.exe: *** [E:\android_test_project\hello-neon\app\build\intermediates\ndk\debug\obj/local/arm64-v8a/objs/helloneon/E_\android_test_project\hello-neon\app\src\main\jni\helloneon.o] Error 1 Т.е. студия по прежнему не может найти каталог с NDK - ладно читаю Start_Here.html из NDK и вижу что нужно добавить set PATH=%PATH%;C:/Android_SDK/NDK/android-ndk-r10 добавляю: set PATH=...;e:\Developer\android-ndk-r10d Ничего не изменилось - т.е. студия по прежнему каталог не находит. Лезу в интернет и читаю - что NDK в студии под Windows использовать не получится, лезу в саму NDK и действительно в ней упоминается только эклипс. Неужели все так плохо? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2014, 12:16 |
|
NDK проблема
|
|||
---|---|---|---|
#18+
В build.gradle android {} добавь строки: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2014, 12:42 |
|
NDK проблема
|
|||
---|---|---|---|
#18+
Микола ПитерскийЛезу в интернет и читаю - что NDK в студии под Windows использовать не получится "Не читайте советских газет"... У тебя интернет не такой, как у меня. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2014, 12:43 |
|
NDK проблема
|
|||
---|---|---|---|
#18+
wadman, огромное спасибо - теперь все компилируется!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2014, 12:47 |
|
NDK проблема
|
|||
---|---|---|---|
#18+
Радовался недолго - пример bitmap-plasma компилировался и выполнялся, а вот взял пример hello-gl2 и получил при компиляции ошибку: .... E:/android_test_project/hello-gl21/app/src/main//jni/gl_code.cpp:22:23: fatal error: GLES2/gl2.h: No such file or directory #include <GLES2/gl2.h> ^ compilation terminated. make.exe: *** [E:/android_test_project/hello-gl21/app/src/main//obj/local/armeabi-v7a/objs-debug/gl2jni/gl_code.o] Error 1 Сам gl_code.cpp: ... #include <jni.h> #include <android/log.h> #include <GLES2/gl2.h> #include <GLES2/gl2ext.h> т.е. почему-то 1-е 2 строки обработались нормально а на gl2.h ошибка - а файл gl2.h в указанном каталоге есть, но почему-то его не находит - где я накосячил? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2014, 14:34 |
|
NDK проблема
|
|||
---|---|---|---|
#18+
Вообще для таких случаев хорош procmon от sysinternals. Всегда можно понять почему не находится файл, "который есть". ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2014, 16:04 |
|
NDK проблема
|
|||
---|---|---|---|
#18+
wadman, версии уже пробовал подбирать - не помогло compileSdkVersion 21 buildToolsVersion "20.0.0" defaultConfig { applicationId "com.android.gl2jni" minSdkVersion 8 targetSdkVersion 10 понаблюдал за make.exe - это он читает в NDK - но там несколько тысяч записей - бегло просмотрел - вроде все SUCCESS т.е. увидеть в каком каталоге он что не нашел невозможно. Порылся в инете - так оказывается эта проблема только в 10 версии, в которой 64 уже для 21 апи есть. Но покрайней мере - хоть один пример из их примеров собирается и работает без проблем :) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2014, 16:28 |
|
NDK проблема
|
|||
---|---|---|---|
#18+
Микола ПитерскийПорылся в инете Знаю я, как ты копаешься. а мне уже лень, пятница-вечер... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2014, 16:34 |
|
NDK проблема
|
|||
---|---|---|---|
#18+
wadman, нашел методом тыка: в application.mk должна быть обязательно строка APP_PLATFORM := android-8 и тогда проект успешно компилируется. У них в примерах только в одном проекте эта строка есть :) который и компилировался. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2014, 16:47 |
|
NDK проблема
|
|||
---|---|---|---|
#18+
А еще обязательно должно быть: sourceSets.main { jni.srcDirs = [] } Я вот закоментировал jni.srcDirs = [] и проект тоже перестал компилироваться. А эта строка указывает студии не показывать сишный каталог в студии - т.е. редактором студии править эти файлы уже нельзя. Нужно использовать блокнот - как так ??? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2014, 16:53 |
|
NDK проблема
|
|||
---|---|---|---|
#18+
Подскажите как проще заюзать проверку хэша MD5 в NDK - как я понял в составе NDK его нет - или я опять плохо искал? :) А может поделитесь ссылкой на md5.c или есть какой более простой способ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2014, 11:38 |
|
NDK проблема
|
|||
---|---|---|---|
#18+
Чем явовские средства для получения md5 не подходят? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2014, 15:14 |
|
NDK проблема
|
|||
---|---|---|---|
#18+
wadman, подходят - просто я думал может сишные удобнее использовать. Ок - буду дергать жавовские. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2014, 15:53 |
|
NDK проблема
|
|||
---|---|---|---|
#18+
wadman, просто результат вызова жавовских методов - это строковая ссылка на них в файлике *.so . Я хотел это дело скрыть. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2014, 16:27 |
|
NDK проблема
|
|||
---|---|---|---|
#18+
Микола Питерскийрезультат вызова жавовских методов - это строковая ссылка на них в файлике *.so Уверен? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2014, 16:35 |
|
NDK проблема
|
|||
---|---|---|---|
#18+
wadman, конечно - в .so все жава вызовы как на ладони и ума много не надо найти нужную точку и реверснуть ее. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2014, 16:39 |
|
NDK проблема
|
|||
---|---|---|---|
#18+
Микола Питерскийwadman, конечно - в .so все жава вызовы как на ладони и ума много не надо найти нужную точку и реверснуть ее. Раз ты так об этом беспокоишься, то наверное стоит еще стоит применить шифрование в so, ибо там обычный асм. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2014, 16:50 |
|
NDK проблема
|
|||
---|---|---|---|
#18+
wadman, видно все начиная от публичного ключа с которым я собрался сверяться, заканчивая способами привязки и это в обычном просмотрщике - а если прогнать через дизасемблер... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2014, 16:54 |
|
NDK проблема
|
|||
---|---|---|---|
#18+
Какой смысл так защищаться-то? Что за проект? Если не секрет... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2014, 17:02 |
|
NDK проблема
|
|||
---|---|---|---|
#18+
wadman, так это для всех проектов - просто пытаюсь сделать нормальную защиту. Конечно даже в таком виде это лучше чем просто жавовская проверка. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2014, 17:07 |
|
NDK проблема
|
|||
---|---|---|---|
#18+
осфурцировать не пробовал ? что бы , хотя бы школота не смогла так увидеть ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2014, 19:05 |
|
NDK проблема
|
|||
---|---|---|---|
#18+
Джибс, это системные штуки, не должно сработать. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2014, 19:37 |
|
NDK проблема
|
|||
---|---|---|---|
#18+
Джибс, буду свой обфускататор делать (функцию, которая видоизменяет строки а при вызове восстанавливает) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2014, 09:04 |
|
NDK проблема
|
|||
---|---|---|---|
#18+
Блин - пытаюсь "спрятать" строку Код: plaintext 1. 2. 3.
но после компиляции нахожу эту строку в оригинальном виде. Вероятно срабатывает оптимизатор при компиляции, в обычном C++ он включается параметром "-O", а как тут его отключить? Еще сильно озабочен тем что имена всех функций (даже внутренних) остались нетронутыми - что за хрень такая? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2014, 12:13 |
|
|
start [/forum/topic.php?fid=13&msg=38832651&tid=1331475]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 164ms |
0 / 0 |