If a native Android library requires resources in the assets and libs folders and i copy these folders to my B4A project's Objects folder and mark them read-only will they be compiled into the B4A application in the same way tha we add drawables etc?
I have an excpetion:
In my Objects folder i have assets/droyd/sdk.properties and it's marked read only.
I also have folders:
assets/droyd/resources/svg/
assets/droyd/resources/svg/poi
These both contain a number of SVG graphics.
Then there is:
assets/droyd/themes
And:
libs/armeabi
libs/armeabi-v7a
libs/x86
These folders contain JNI .so files.
Will the B4A compiler include all of these additional folders?
Does the B4A compiler handle JNI files correctly?
This is the log output i'm trying to debug:
Thanks for any help...
Martin.
I have an excpetion:
java.io.FileNotFoundException: droyd/sdk.properties
In my Objects folder i have assets/droyd/sdk.properties and it's marked read only.
I also have folders:
assets/droyd/resources/svg/
assets/droyd/resources/svg/poi
These both contain a number of SVG graphics.
Then there is:
assets/droyd/themes
And:
libs/armeabi
libs/armeabi-v7a
libs/x86
These folders contain JNI .so files.
Will the B4A compiler include all of these additional folders?
Does the B4A compiler handle JNI files correctly?
This is the log output i'm trying to debug:
>>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
Heap size: -Xmx32m
CheckJNI is OFF
Calling main entry com.android.commands.pm.Pm
GC_EXPLICIT freed 4K, 51% free 2681K/5379K, external 0K/0K, paused 44ms
No content provider found for:
No content provider found for:
Scanning package: /data/app/vmdl618616265.tmp
Removing non-system package:uk.co.martinpearman.b4a.droyddemo
Force stopping package uk.co.martinpearman.b4a.droyddemo uid=10096
Scanning package uk.co.martinpearman.b4a.droyddemo
DexInv: --- BEGIN '/data/app/uk.co.martinpearman.b4a.droyddemo-1.apk' ---
Package uk.co.martinpearman.b4a.droyddemo codePath changed from /data/app/uk.co.martinpearman.b4a.droyddemo-2.apk to /data/app/uk.co.martinpearman.b4a.droyddemo-1.apk; Retaining data and using new
DexOpt: load 111ms, verify+opt 1071ms
DexInv: --- END '/data/app/uk.co.martinpearman.b4a.droyddemo-1.apk' (success) ---
Unpacking native libraries for /data/app/uk.co.martinpearman.b4a.droyddemo-1.apk
DexInv: --- BEGIN '/data/app/uk.co.martinpearman.b4a.droyddemo-1.apk' ---
DexOpt: load 117ms, verify+opt 1071ms
DexInv: --- END '/data/app/uk.co.martinpearman.b4a.droyddemo-1.apk' (success) ---
Activities: uk.co.martinpearman.b4a.droyddemo.main
Force stopping package uk.co.martinpearman.b4a.droyddemo uid=10096
Code path for pkg : uk.co.martinpearman.b4a.droyddemo changing from /data/app/uk.co.martinpearman.b4a.droyddemo-2.apk to /data/app/uk.co.martinpearman.b4a.droyddemo-1.apk
Resource path for pkg : uk.co.martinpearman.b4a.droyddemo changing from /data/app/uk.co.martinpearman.b4a.droyddemo-2.apk to /data/app/uk.co.martinpearman.b4a.droyddemo-1.apk
move /data/dalvik-cache/data@[email protected]@classes.dex -> /data/dalvik-cache/data@[email protected]@classes.dex
New package installed in /data/app/uk.co.martinpearman.b4a.droyddemo-1.apk
GC_CONCURRENT freed 1675K, 40% free 6797K/11207K, external 5044K/6204K, paused 7ms+16ms
Force stopping package uk.co.martinpearman.b4a.droyddemo uid=10096
GC_EXPLICIT freed 341K, 55% free 3522K/7687K, external 4549K/4963K, paused 69ms
Initializing inflate state
Initializing inflate state
onReceive Intent { act=android.intent.action.PACKAGE_REMOVED dat=package:uk.co.martinpearman.b4a.droyddemo flg=0x10000000 cmp=com.android.voicedialer/.VoiceDialerReceiver (has extras) }
deleteCachedGrammarFiles /data/data/com.android.voicedialer/files/openentries.txt
Handling replaced theme package: uk.co.martinpearman.b4a.droyddemo
Initializing inflate state
no available voice recognition services found
GC_EXPLICIT freed 1013K, 42% free 6589K/11207K, external 4968K/6204K, paused 138ms
Initializing inflate state
Initializing inflate state
Initializing inflate state
Initializing inflate state
handlePackageInstalled: re-initialize providers
[RawStanzaProvidersMgr] ##### searchProvidersFromIntent
[RawStanzaProvidersMgr] no intent receivers found
onReceive Intent { act=android.intent.action.PACKAGE_ADDED dat=package:uk.co.martinpearman.b4a.droyddemo flg=0x10000000 cmp=com.android.voicedialer/.VoiceDialerReceiver (has extras) }
deleteCachedGrammarFiles /data/data/com.android.voicedialer/files/openentries.txt
Application package was replaced (eg: upgraded) => Scheduling next wake-up ...
scheduleNextWakeup(): Invoked with idToExcludeForToday=null
unlink /data/dalvik-cache/data@[email protected]@classes.dex
Initializing inflate state
Shutting down VM
NOTE: attach of thread 'Binder Thread #3' failed
scheduleNextWakeup(): No next wakeup scheduled.
GC_CONCURRENT freed 100K, 71% free 298K/1024K, external 0K/0K, paused 0ms+11ms
adbd disconnected
>>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
Heap size: -Xmx32m
CheckJNI is OFF
Calling main entry com.android.commands.am.Am
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=uk.co.martinpearman.b4a.droyddemo/.main } from pid 3266
Shutting down VM
Start proc uk.co.martinpearman.b4a.droyddemo for activity uk.co.martinpearman.b4a.droyddemo/.main: pid=3276 uid=10096 gids={3003, 1015}
GC_CONCURRENT freed 102K, 69% free 323K/1024K, external 0K/0K, paused 1ms+1ms
adbd disconnected
Initializing inflate state
NOTE: attach of thread 'Binder Thread #3' failed
Initializing inflate state
GC_EXTERNAL_ALLOC freed 40K, 50% free 2700K/5379K, external 0K/0K, paused 85ms
java.lang.NoSuchFieldException: flags
at java.lang.ClassCache.findFieldByName(ClassCache.java:446)
at java.lang.Class.getDeclaredField(Class.java:666)
at anywheresoftware.b4a.Msgbox.<clinit>(Msgbox.java:51)
at uk.co.martinpearman.b4a.droyddemo.main.onResume(main.java:176)
at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1150)
at android.app.Activity.performResume(Activity.java:3832)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2231)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2256)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1789)
at android.app.ActivityThread.access$1500(ActivityThread.java:123)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:939)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3835)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
at dalvik.system.NativeStart.main(Native Method)
** Activity (main) Create, isFirst = true **
Could not load sdk.properties
java.io.FileNotFoundException: droyd/sdk.properties
at android.content.res.AssetManager.openAsset(Native Method)
at android.content.res.AssetManager.open(AssetManager.java:337)
at com.osa.android.geomap.b.b.a(Unknown Source)
at com.osa.android.droyd.map.DroydMapComponent.a(Unknown Source)
at com.osa.android.droyd.map.DroydMapComponent.b(Unknown Source)
at com.osa.android.droyd.map.DroydMapComponent.<init>(Unknown Source)
at uk.co.martinpearman.b4a.droyd.map.DroydMapComponentWrapper.Initialize(DroydMapComponentWrapper.java:62)
at uk.co.martinpearman.b4a.droyddemo.main._activity_create(main.java:209)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:145)
at uk.co.martinpearman.b4a.droyddemo.main.afterFirstLayout(main.java:84)
at uk.co.martinpearman.b4a.droyddemo.main.access$100(main.java:16)
at uk.co.martinpearman.b4a.droyddemo.main$WaitForLayout.run(main.java:72)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3835)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
at dalvik.system.NativeStart.main(Native Method)
main_activity_create (java line: 209)
java.lang.NullPointerException
at com.osa.android.droyd.map.DroydMapComponent.themeGetDefault(Unknown Source)
at com.osa.android.droyd.map.DroydMapComponent.setMapView(Unknown Source)
at uk.co.martinpearman.b4a.droyd.map.DroydMapComponentWrapper.Initialize(DroydMapComponentWrapper.java:66)
at uk.co.martinpearman.b4a.droyddemo.main._activity_create(main.java:209)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:145)
at uk.co.martinpearman.b4a.droyddemo.main.afterFirstLayout(main.java:84)
at uk.co.martinpearman.b4a.droyddemo.main.access$100(main.java:16)
at uk.co.martinpearman.b4a.droyddemo.main$WaitForLayout.run(main.java:72)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3835)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
at dalvik.system.NativeStart.main(Native Method)
java.lang.NullPointerException
Displayed uk.co.martinpearman.b4a.droyddemo/.main: +942ms
Jit: resizing JitTable from 512 to 1024
Sending signal. PID: 3276 SIG: 9
WIN DEATH: Window{40787af8 uk.co.martinpearman.b4a.droyddemo/uk.co.martinpearman.b4a.droyddemo.main paused=false}
Process uk.co.martinpearman.b4a.droyddemo (pid 3276) has died.
WIN DEATH: Window{40928b18 uk.co.martinpearman.b4a.droyddemo/uk.co.martinpearman.b4a.droyddemo.main paused=false}
-- loadPreferences()
Got RemoteException sending setActive(false) notification to pid 3276 uid 10096
Thanks for any help...
Martin.