2013-09-17 1 views
0

На Mac OS X Я запускаю ndk, который генерирует некоторые .so библиотеки, которые теоретически должны быть повторно использованы для окон. Однако, когда я затмеваю перекомпилировать свой проект Android в окнах, я получаю разный размер apk, и он работает иначе, чем когда вся сборка eclipse выполняется на Mac. Только создание на Mac работает. Не беру файлы .so из сборки mac ndk и повторно использую их в сборке окон. Его либо то, либо что-то другое в том, как маки и окна строят файлы apk, которые я не понимаю. Проблема с обработанными окнами apk заключается в том, что у нее есть память за потреблением, которое не было видно на apk, сгенерированном исключительно на osx.Может ли Eclipse использовать файлы .so из компиляции NDK на другой платформе?

Так уточнить это (ON MAC OS X) работает:

1) запустить NDK на OSX генерировать .so файлы 2) OS X затмение компилировать андроид приложение и развернуть на устройстве. 3) OS X eclipse запускает apk на устройстве.

сгенерированный apk, конечно, работает на всех устройствах.

Это (на WINDOWS) НЕ работает: 1) на использование окон .so сгенерировано на osx ndk build. 2) windows eclipse компилирует приложение для Android с использованием .so файлов, сгенерированных ndk на OS X. 3) eclipse run apk на устройстве. Apk имеет другой байт, и, хотя он загружается, он теперь генерирует ошибки памяти в отличие от apk, разработанного исключительно на OS X.

Спасибо!

+0

Подождите, как вы генерацию файлов APK на прошивке? Вы имеете в виду OS X? – kabuko

+0

да, OS X Я исправлю это. – TestBest

+0

Используете ли вы ту же версию инструментальной цепочки? Если у вас разные версии NDK SDK, тогда набор инструментов может отличаться. –

ответ

1

Вы можете скомпилировать код кросс-платформенной (aka NDK) на OSx (MAC) и получить *.so, *.a файлов.

После сборки проекта Android (a.e создайте APK) с Eclipse в Windows.

Должно работать.

(я сделал это для Linphone Android с ядром написано на чистом C)

+0

ОК. любые идеи, которые могут вызвать такие различия? Я проверяю тот же самый код из git, но получаю разные результаты в зависимости от того, сгенерирован ли apk на windows vs osx. – TestBest

+0

наверняка у вас есть разница (не большая). ON MAC (как и любая другая ОС Linux) у вас есть разница в размерах (~ 1-3%). Попробуйте скопировать файл 1K из окон в Linux и посмотреть, что такое дельта. –