AtolSmartLiteUtils icon indicating copy to clipboard operation
AtolSmartLiteUtils copied to clipboard

Проблема со сборкой APK

Open serg33rus opened this issue 4 years ago • 6 comments

Классная компонента, все отлично работает на мобильной платформе. Но если попытаться собрать APK в сборщике мобильных приложений 1С, то вылезает очень неприятная проблема. В сборщике внешняя компонента видна. Но в логах пишет [info] В приложение устанавливаются внешние компоненты: [info] внешняя компонента: org_innovait_AtolSmartLiteUtils [WARN] отсутствует для данной ОС. В файле 1cema каталог Android есть и в нем компонента. Но в APK она так и не попадает и соответственно не работает. Может есть мысли почему этот грешный сборщик мобильных приложение от 1С не видит что эта компонента под arm? А то очень обидно. Такая классная компонента и такой облом :-(.

serg33rus avatar Jun 11 '20 06:06 serg33rus

Есть предположение, 1 - что не правильный манифест или название файлов. 2 - Попадал на то, что чувствительно к регистру. Надо попробовать переписать без регистра. Пока этим заняться не могу.

innovait-rus avatar Jun 11 '20 07:06 innovait-rus

Неужели никто не собирал APK? Я просто думаю, может я где туплю? Спасибо за ответ.

serg33rus avatar Jun 11 '20 07:06 serg33rus

Тут у меня для вас печальные новости. Даже если кто-то и собирал, то поделиться почему-то забыл. Лично я еще не собирал. Если у вас получится, то прошу отписаться что надо поправить. Я добавлю это в WIKI.

innovait-rus avatar Jun 11 '20 07:06 innovait-rus

Разобрался. Чтобы собиралось нормально надо в манифест занести строчки

  <component os="Android" path="AtolSmartLiteUtils_ARM.so" codeType="c++" type="native" arch="i386" /> 
  <component os="Android" path="org_innovait_atolsmartliteutils-debug.apk" codeType="java" type="native" arch="i386" /> 

Это само собой не будет работать на платформе x86, но она и на фиг не нужна. Зато под ARM собрется в 1С без вопросов.

Ну или как вариант в файле выгрузки 1С для мобильного приложения ручками создать каталог i386 в каталоге Android. и туда скопировать каталог ARM. Костыль конечно, но зато приложение собирается и работает.

serg33rus avatar Jun 19 '20 12:06 serg33rus

Компонента компилится и в x86 и в ARM64. А в какой манифест(название файла)?

innovait-rus avatar Jun 19 '20 20:06 innovait-rus

В файле внешней компоненты для 1С есть файлик MANIFEST.XML и в нем прописана только для платформы ARM. Надо добавить пару строк указанных выше для платформы x86. Чисто глюк 1С, что есть нет для обеих платформ, то мобильное приложение собирается без компоненты.

serg33rus avatar Jun 20 '20 09:06 serg33rus