[ 
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

Reply via email to