【问题标题】:Exception building gradle task launchIosDevice异常构建 gradle 任务启动IosDevice
【发布时间】:2017-04-01 10:11:52
【问题描述】:

在我更新了新版本的 Ios 之后(我认为在这件事之前还可以),当我尝试启动 Gradle 任务“launchIosDevice”时出现这个异常:

java.lang.NullPointerException
        at org.robovm.libimobiledevice.Callbacks.callInstproxyCallback(Callbacks.java:66)

谁能帮我理解这个问题? 提前谢谢你。

buildscript {

    repositories {
        jcenter()
    }
    dependencies {
        classpath 'org.javafxports:jfxmobile-plugin:1.3.2'

    }
}

apply plugin: 'org.javafxports.jfxmobile'
repositories {
    jcenter()
    maven {
        url 'http://nexus.gluonhq.com/nexus/content/repositories/releases/'
    }
    maven { 
       url('https://oss.sonatype.org/content/repositories/snapshots/')
    }
}

mainClassName = 'it.wstech.lex.LXMainApplication'

dependencies { 
    compile 'com.airhacks:afterburner.mfx:1.6.2'
    compile fileTree(dir: '***', include: ['*.jar'])  
    compile fileTree(dir: '***', include: ['*.jar'])   
    compile fileTree(dir: '***', include: ['*.jar'])  
    compile fileTree(dir: 'lib', include: ['*.jar'])  

    androidCompile 'org.glassfish:javax.json:1.0.4' 
    compile "com.gluonhq:charm:4.3.0"


}


jfxmobile {


    javafxportsVersion = '8.60.8'

    downConfig {
        version "3.3.0-SNAPSHOT"
        plugins 'display','browser','cache', 'lifecycle', 'statusbar', 'storage', 'local-notifications', 'device','connectivity','dialer','orientation','runtime-args', 'push-notifications' 
    }
    android {
      manifest = 'src/android/AndroidManifest.xml'          
      compileSdkVersion = 21
         signingConfig {
            storeFile file('***')
            storePassword 'wstechsrl'
            keyAlias '***'
            keyPassword '***'
        }

         dexOptions {
        javaMaxHeapSize "4g"
    }
    }


    ios {

    iosSignIdentity = '****'
    iosProvisioningProfile = '****' 
        infoPList = file('src/ios/Default-Info.plist')
                       arch = 'arm64'
                        ipaArchs=['arm64']


        forceLinkClasses = [
                'com.gluonhq.**.*',
                'it.wstech.**.*',              
                'javax.annotations.**.*',
                'javax.inject.**.*',
                'javax.json.**.*',
                'org.glassfish.json.**.*'
        ]


    }
}

[ 96%] Uploading /Volumes/RoboVM RAM Disk/tmp/Users/wstechsrl/Desktop/workspace_fx/strikenball/build/javafxports/tmp/ios/strikenball.app/lib/robovm-cocoatouch-2.3.0.jar...
[ 97%] Uploading /Volumes/RoboVM RAM Disk/tmp/Users/wstechsrl/Desktop/workspace_fx/strikenball/build/javafxports/tmp/ios/strikenball.app/lib/robovm-objc-2.3.0.jar...
[ 98%] Uploading /Volumes/RoboVM RAM Disk/tmp/Users/wstechsrl/Desktop/workspace_fx/strikenball/build/javafxports/tmp/ios/strikenball.app/strikenball...
[100%] Upload complete
[  0%] Beginning installation...
[  5%] CreatingStagingDirectory
[ 15%] ExtractingPackage
[ 20%] InspectingPackage
[ 20%] TakingInstallLock
[ 30%] PreflightingApplication
[ 30%] InstallingEmbeddedProfile
[ 40%] VerifyingApplication
[ 50%] CreatingContainer
[ 60%] InstallingApplication
[ 70%] PostflightingApplication
[ 80%] SandboxingApplication
[ 90%] GeneratingApplicationMap
java.lang.NullPointerException
        at org.robovm.libimobiledevice.Callbacks.callInstproxyCallback(Callbacks.java:66)

【问题讨论】:

  • 您在使用 jfxmobile 插件吗?你可以发布你的 build.gradle 吗?运行./gradlew --info launchIosDevice 并发布更详细的堆栈跟踪?另外,./gradew createIpa 对你有用吗?
  • 是的,我正在使用 jfxmobileplugin,我发布了 stacktrace 和 build.gradle 的最后几行。 createIpa 任务正常工作。

标签: ios gradle javafx task gluon-mobile


【解决方案1】:

将我的 iPad 更新到 iOS 10.3 后,我可以重现运行 ./gradlew --info launchIOSDevice 的错误:

[100%] Upload complete
[  0%] Beginning installation...
[  5%] CreatingStagingDirectory
[ 15%] ExtractingPackage
[ 20%] InspectingPackage
[ 20%] TakingInstallLock
[ 30%] PreflightingApplication
[ 30%] InstallingEmbeddedProfile
[ 40%] VerifyingApplication
[ 50%] CreatingContainer
[ 60%] InstallingApplication
[ 70%] PostflightingApplication
[ 80%] SandboxingApplication
[ 90%] GeneratingApplicationMap
java.lang.NullPointerException
        at org.robovm.libimobiledevice.Callbacks.callInstproxyCallback(Callbacks.java:66)

新的 iOS 版本出现了一些问题,这需要 Mobidevelop(Robovm 分支)修复。一旦他们解决了这个问题,就需要一个新版本的 jfxmobile 插件。

已经创建了一个issue,但也许你也可以发布你的。

与此同时,解决方法是在构建 ipa 后手动安装应用程序:

运行./gradlew createIpa,找到/build/javafxports/ios下的ipa,双击它,它会用iTunes打开。然后它将被下载并安装在您的 iOS 设备上。

【讨论】:

    猜你喜欢
    • 2021-12-19
    • 1970-01-01
    • 2019-03-31
    • 2018-11-03
    • 1970-01-01
    • 2022-06-14
    • 2015-10-08
    • 1970-01-01
    • 2021-02-09
    相关资源
    最近更新 更多