У меня есть базовое приложение flex mobile 4.6, и оно прекрасно работает во встроенном эмуляторе Flash Builder с использованием профиля устройства Android, такого как aria ...
Он также хорошо запускается в эмуляторе Android, но один конкретный вид показывает пустым (и этот вид отлично работает в Flash Builder).
Прежде чем я углублюсь во многие детали представления, есть ли какие-то категорические ошибки, которые могут быть причиной этого?
Я не могу заставить операторы трассировки показывать в adb logcat. Кажется, мне нужно скомпилировать отладочную версию apk, но я не знаю, как это сделать. Я использую «Экспорт сборки выпуска» из меню «Проект» во Flash Builder, и у него нет опции debug = true.
Проблемное / пустое представление в основном использует stagewebview и библиотеку oauth iotashan для вызова linkedin rest apis ... Другое (и работающее) представление может сделать спокойные вызовы веб-службы в эмуляторе хорошими, поэтому, похоже, это не так интернет-разрешение.
Исходный код, содержащийся в проблемном / пустом виде, практически идентичен учебнику, найденному по адресу: http://www.riagora.com/2011/01/air-and-linkedin/
Различия:
а) Корневой тег является представлением
б) я использую StageWebView вместо HtmlContainer
c) Я использую свой собственный ключ и токены для мыши.
Буду признателен, если кто-нибудь подскажет мне, как устранить эту ситуацию. Возможно, кто-то может сказать мне, как отлаживать приложение во время работы в эмуляторе (я думаю, что для этого мне нужны правильные аргументы команды adt, которые соответствуют меню «Export Release Build», но добавляют параметр отладки?)
Спасибо за вашу помощь заранее.
========================================
Комментарий добавлен после дополнительной отладки:
ОК - через некоторое профилирование Fiddler я наблюдаю, что http-туннель, созданный для api.linkedin.com:443 при отладке внутри FlashBuilder и внутри эмулятора Android, отличается. В частности, следующие две строки кода создают разные заголовки HTTP:
var request: OAuthRequest = new OAuthRequest ("GET", requestTokenUrl, {oauth_callback: 'http://www.xyz123.com'}, потребитель, ноль);
Loader.load (URLRequest);
В то время как во Flashbuilder URLLoader, похоже, создает запрос с соответствующими заголовками, такими как Host: api.linkedin.com: 443, Content-Length: 0, Connection: Keep-Alive и т. Д., Внутри эмулятора Android есть только один заголовок Хост: 216.52.242.83:443.
С какой стати это случилось?