felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rafael Bachiller (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FELIX-3854) Problem running Felix in Android 4.1 ad 4.2 (JB)
Date Thu, 07 Mar 2013 11:18:14 GMT

    [ https://issues.apache.org/jira/browse/FELIX-3854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13595787#comment-13595787
] 

Rafael Bachiller commented on FELIX-3854:
-----------------------------------------

Karl: I've tested the reference protocol and everything worked well. However, as i have no
root access, i don't really know which files is placing Felix inside the cache directory.

Robin: I don't really understand what is the problem that makes you to place the .jar inside
the dexOutputDir. In my case (Galaxy Nexus non rooted and Apache Felix 4.1.0.SNAPSHOT), i
place the jar in a folder placed at the sdcard and Apache Felix is able to install it without
any problem. I use the function: context.installBundle(String name, FileInputStream file)
for install the bundle. If you want to, i can try your code in my smartphone to check it.
                
> Problem running Felix in Android 4.1 ad 4.2 (JB)
> ------------------------------------------------
>
>                 Key: FELIX-3854
>                 URL: https://issues.apache.org/jira/browse/FELIX-3854
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: framework-4.0.3
>         Environment: Once Felix is running in the smartphone (Samsung Galaxy Nexus with
Android 4.2), the problem arises when a new bundle is being installed (considering that the
felix cache directory has been placed in the external sd card by using the property org.osgi.framework.storage).
>            Reporter: Rafael Bachiller
>            Assignee: Karl Pauls
>            Priority: Minor
>              Labels: Android, Bean, Jelly, patch
>
> During the installation process, Felix places the .jar in the cache and then obtains
the dex file that is inside the jar file in order to put the dex file in the cache directory.
Then, Felix executes it.
> In the new versions of Android, this process fails because the system does not allow
any program to place and execute any dex file in the sd card. The code line that illustrate
the problem is in the file felix/framework/src/main/java/org/apache/felix/frameworBundleWiringImp.java
(line 2271).
> In my modest opinion, there are two possible solutions:
> a) For these newer versions of Android, it is not possible to place the cache in the
external sd card. For this solution no changes are needed in Felix, but it creates a new limitation
for running in the Android devices (the cache can only be placed in the internal memory at
runtime).
> b) Create a new parameter (e.g. felix.cache.dexfiles) that can be applied to Android
systems that indicates to Felix where to place the dex files. Thus, Felix is not going to
store in the same place the .jar files and the .dex files (avoiding to waste the internal
memory). For this solution, it is necessary to create the parameter in Felix and to modify
the line that has been indicated before.
> Thank you very much in advance.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message