Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flash Приложения: AIR, Zinc и тд. (http://www.flasher.ru/forum/forumdisplay.php?f=94)
-   -   Собираем ane с несколькими библиотеками jar (http://www.flasher.ru/forum/showthread.php?t=212598)

Nnget 22.03.2016 11:06

Собираем ane с несколькими библиотеками jar
 
Имеем следующие:
В eclipse подготовленная библиотека для сборки ane ссылается на другие библиотеки. Экспортирую не забыв проставить галочки resources to export. Итоговый файл ~ 10 Mb...
Собираем ane размер ~12 mb.
Собираем тестовое приложение, размер 134 kb.
Чувство, что где-то обман не покидает....Запускаем, код нормально выполняется до первой попытки создать экземпляр класса из дополнительных экспортированных библиотек, а потом ошибка.

Что я делаю не так, и как быть в подобной ситуации?

undefined 22.03.2016 12:33

Цитата:

Собираем тестовое приложение, размер 134 kb.
Если собираешь в ФД, попробуй инклюдить библиотеку с галочкой included library (include completely).

caseyryan 22.03.2016 12:35

В FD другая фишка. Там надо в батнике указать путь exdir к внешней библиотеке, иначе не вкомпилится

Nnget 22.03.2016 20:02

Собираю в FB.

illuzor 22.03.2016 21:41

Распакуйте ane, найдите в нём jar, распакуйте этот jar и покажите его содержимое.
Или дайте само ane посмотреть.

Nnget 23.03.2016 06:00

Вложений: 3
Стараюсь собрать ANE отображающую GoogleMaps v2

Исходники ниже

Вот код добавляющий карту
На активности создается AbsoluteLayout и на нем отображаем MapFragment.

Код AS3:

        public static void init(FREContext Context,int x,int y,int width,int height)
        {
                if (mapFragment!=null) return;
 
                Activity act=Context.getActivity();
 
                FragmentManager fm=act.getFragmentManager();
 
                if (fm==null)
                {
                        Toast toast3 = Toast.makeText(Context.getActivity(), "fm is null", Toast.LENGTH_SHORT);
                        toast3.show();
                }
 
                AbsoluteLayout aLayout = new AbsoluteLayout(act);
                aLayout.setX(x);
                aLayout.setY(y);
                LayoutParams linLayoutParam = new LayoutParams(width, height);
                aLayout.setId(12234543);
                act.addContentView(aLayout, linLayoutParam);
 
 
        LayoutParams lpView2 = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
 
        mapFragment=new MapFragment();
                fm.beginTransaction()
                .add(12234543,mapFragment)
                .commit();
 
        mapFragment.getMapAsync(new OnMapReadyCallback() {
 
                        @Override
                        public void onMapReady(GoogleMap Gmap) {
                                googleMap=Gmap;
                        }
                });
 
        }

В нативном приложении этот код работает. В собранной ANE добавляется AbsoluteLayout aLayout с которым можно работать. Но при добавлении кода карты все заканчивается на этой строчке mapFragment=new MapFragment();

Манифест:

Код:

<android>
        <manifestAdditions><![CDATA[
                        <manifest android:installLocation="auto">
                                <uses-sdk android:minSdkVersion="12" android:targetSdkVersion="19" />
 
                                <uses-permission android:name="android.permission.INTERNET"/>
                                <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
                                <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
                                <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
                                <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
                                <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
                             
                            <application>

                                        <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="ХХХХ" />
                                        <meta-data android:name="com.google.android.gms.version" android:value="6587000" />

                            </application>
                        </manifest>
                       
                ]]></manifestAdditions>
    </android>


illuzor 23.03.2016 14:44

http://images.illuzor.com/uploads/jar.png

Зачем весь проект то в jar паковать?
Теперь надо выяснить, что за ошибка происходит. Что logcat говорит?

Nnget 23.03.2016 18:31

Вложений: 3
Цитата:

Зачем весь проект то в jar паковать?
Это был момент отчаяния

В момент обращения к init карты и загрузке приложения единственное сообщение:

03-23 19:06:11.856: I/AVC(18981): 78c34c80

Единственная ошибка-акселерометра. связано это с тем, что с эмулятора запускаю.

Сейчас сравниваю с запуском такой-же карты на нативке и там есть строчки, ответа google maps api

log.txt-все логи со старта приложения
log1.txt- логи в момент вызова init
log3.txt-лог нативной карты

illuzor 23.03.2016 20:43

Цитата:

Сообщение от Nnget (Сообщение 1192886)
В момент обращения к init карты и загрузке приложения единственное сообщение

Это странно, logcat должен значительно больше инфы выдавать.

Nnget 23.03.2016 23:44

Вложений: 1
Добыл таки с приложения эту ошибку:

Could not find class '***.MapFragment'? references from method ****.init

Если в jar этот класс есть, чего не хватает?


Часовой пояс GMT +4, время: 12:57.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.