2015-07-31 5 views
1

Есть ли способ, как построить модуль UiAutomator (https://android.googlesource.com/platform/frameworks/testing/+/jb-mr2-release/uiautomator/cmds/uiautomator/)? UiAutomator имеет команду, называемую дампом, которую вы можете выполнить на оболочке устройства/эмулятора, вызвав uiautomator dump, и это приведет к созданию XML-файла с иерархией пользовательского интерфейса. Но проблема в том, что если особый характер вошел в игру (видимый на экране) likey smileys, который Im догадывается символами UTF-16, генератор xml позади UIAutomator терпит неудачу (это действительно известная проблема), за исключением IllegalCharacterКак создать проект UIAutomator для Android?

https://android.googlesource.com/platform/libcore/+/10d1f630d8df0064ed966193fa8c9d10a96a8321/xml/src/main/java/org/kxml2/io/KXmlSerializer.java line 130

Я не очень опытен в программировании на Java, но я предполагаю, что мне удастся обновить код Java, чтобы избежать этой проблемы. Но проблема в том, что я действительно не могу скомпилировать этот модуль в jar-файл.

Может ли кто-нибудь помочь мне с этим?

ответ

3

Да, возможно, вам просто нужно проверить проект AOSP и построить этот конкретный модуль. Вот как:

  1. Set up your environment (я надеюсь, что вы используете компьютер на базе UNIX)
  2. Download AOSP source
  3. Build AOSP

Теперь, хитрость заключается в том, чтобы построить UiAutomator как Framework (AOSP) модуль. Для этого запустите:

make uiautomator 

Убедитесь, что вы создали переменную среды (источник сборки/envsetup.sh) и выберите цель и комбинированные (обед) заранее.

NB: Каждый модуль AOSP содержит файл make.microsoft.com, в котором указано имя модуля. В вашем примере, я просто смотрю на Android.mk и нашел это:

LOCAL_MODULE := uiautomator

+0

Оо Отлично, спасибо большое, Im на нем: D – Richard