Gluon Mobile无法移植到iOS

时间:2017-04-26 06:06:48

标签: gluon gluon-mobile

我在这个应用程序的主页上工作,我似乎无法将其移植到iOS。当我尝试在iOS上构建我的应用程序时,我一遍又一遍地得到一个OutOfMemory异常。

然后我尝试构建一个基本的Gluon Mobile应用程序并将其移植到iOS,我得到了这个:

:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:createDefaultIOSLauncher UP-TO-DATE
:compileIosJava UP-TO-DATE
:processIosResources UP-TO-DATE
:iosClasses UP-TO-DATE
:iosExtractNativeLibs UP-TO-DATE
:createIpa
RoboVM has detected that you are running on a slow HDD. Please consider mounting a RAM disk.
To create a 2GB RAM disk, run this in your terminal:
SIZE=2048 ; diskutil erasevolume HFS+ 'RoboVM RAM Disk' `hdiutil attach -nomount ram://$((SIZE * 2048))`
See http://docs.robovm.com/ for more info
RoboVM has detected that you are running on a slow HDD. Please consider mounting a RAM disk.
To create a 2GB RAM disk, run this in your terminal:
SIZE=2048 ; diskutil erasevolume HFS+ 'RoboVM RAM Disk' `hdiutil attach -nomount ram://$((SIZE * 2048))`
See http://docs.robovm.com/ for more info
Root pattern javax.annotations.**.* matches no classes
Root pattern javax.inject.**.* matches no classes
RoboVM has detected that you are running on a slow HDD. Please consider mounting a RAM disk.
To create a 2GB RAM disk, run this in your terminal:
SIZE=2048 ; diskutil erasevolume HFS+ 'RoboVM RAM Disk' `hdiutil attach -nomount ram://$((SIZE * 2048))`
See http://docs.robovm.com/ for more info
Root pattern javax.annotations.**.* matches no classes
Root pattern javax.inject.**.* matches no classes
Warning: javax.xml.bind.annotation.XmlRootElement is a phantom class!
Warning: java.nio.file.StandardOpenOption is a phantom class!
Warning: java.nio.file.FileSystem is a phantom class!
Warning: java.nio.file.OpenOption is a phantom class!
Warning: java.nio.file.FileSystems is a phantom class!
Warning: com.oracle.jrockit.jfr.TimedEvent is a phantom class!
Warning: com.oracle.jrockit.jfr.EventToken is a phantom class!
Warning: com.oracle.jrockit.jfr.ValueDefinition is a phantom class!
Warning: com.oracle.jrockit.jfr.EventDefinition is a phantom class!
Warning: com.oracle.jrockit.jfr.Producer is a phantom class!
Warning: com.oracle.jrockit.jfr.FlightRecorder is a phantom class!
Daemon stopping because JVM tenured space is exhausted
Daemon stopping because JVM tenured space is exhausted

我的IMac在2.7GHz I5上运行 8GB的RAM。

我还试图安装RoboVM RAM磁盘但没有成功。请帮忙!

1 个答案:

答案 0 :(得分:1)

通常,iOS部署需要大量内存,默认情况下,最好将JVM堆的最大分配内存池增加到2 GB。

从IDE运行,您可以在Gradle首选项中设置此默认值。

例如,在NetBeans上,转到Preferences-> Miscellaneous-> Gradle,Scripts&任务以及Gradle JVM参数添加-Xmx2048m

Gradle Arguments

另一种选择是在gradle.properties文件中设置gradle属性(在<user>/.gradle下具有ANDROID_HOME属性的文件):

org.gradle.jvmargs=-Xmx2048m

此属性文件将应用于从IDE或命令行运行,因此更合适。

发现内存不足错误的典型情况是第一次启动RoboVM编译器。幸运的是,所有已编译的类都被缓存,因此重新启动任务只会恢复该过程。

此外,如果进程失败,有时可以方便地使用gradle --stop./gradlew --stop停止所有deamon线程,并再次启动任务。

如果流程成功结束,即使有警告消息,只需检查您的iOS设备是否已安装该应用并运行正常。请注意,您也可以找到内存问题,但这是一个不同的问题。

修改

运行长任务时,使用--info查找有关该过程的更多信息总是很方便,输出更详细。

此外,该过程可以从控制台运行(从NetBeans,右键单击build.gradle文件并选择Tools-&gt;在终端中打开)。