2017-04-01 62 views
1

我在新版本更新的iOS之後(這個東西我覺得這是確定之前),我有這樣的例外,當我嘗試推出搖籃任務「launchIosDevice」:異常建設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) 
+0

您使用的是jfxmobile插件嗎?你可以發佈你的build.gradle嗎?運行'./gradlew --info launchIosDevice'併發布更詳細的堆棧跟蹤?另外,'./gradew createIpa'是否適合你? –

+0

是的,我使用jfxmobileplugin,我發佈了stacktrace的最後幾行和build.gradle。 createIpa任務正常工作。 – Denise

回答

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,找到下/建造的IPA/javafxports/IOS,雙擊它,它會與iTunes打開。然後它將被下載並安裝在您的iOS設備上。

+0

謝謝!這樣就可以工作! – Denise