我写了一个使用com.gluonhq.charm.down.common.ScanService
. 如果我在 src/ios/jniLibs 中手动包含本机库 libCharm.a,它可以在真实的 iOS 设备上按预期工作。这在他们的GoNative应用程序的 Gluon 文档中进行了解释。如果我没记错的话,这个库是在 Charm Down IOS 的 build.gradle 文件中构建的。
这是我的示例的 build.gradle。正如我所说,如果我将 libCharm.a 手动复制到 src/ios/jniLibs,这将导致一个完全正常工作的应用程序。
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.javafxports:jfxmobile-plugin:1.0.8'
}
}
apply plugin: 'org.javafxports.jfxmobile'
repositories {
jcenter()
maven {
url 'http://nexus.gluonhq.com/nexus/content/repositories/releases'
}
}
mainClassName = 'com.thomaskuenneth.scanservicedemo.ScanserviceDemo'
dependencies {
compile 'com.gluonhq:charm:3.0.0'
androidRuntime 'com.gluonhq:charm-android:3.0.0'
androidRuntime 'com.google.zxing:core:3.2.1'
iosRuntime 'com.gluonhq:charm-ios:3.0.0'
desktopRuntime 'com.gluonhq:charm-desktop:3.0.0'
}
jfxmobile {
apply plugin: 'idea'
idea.module.downloadJavadoc = true
android {
manifest = 'src/android/AndroidManifest.xml'
androidSdk = '/Users/thomas/Library/Android/sdk'
compileSdkVersion = 23
}
ios {
infoPList = file('src/ios/Default-Info.plist')
forceLinkClasses = [
'com.google.zxing.**.*',
'com.gluonhq.**.*',
'io.datafx.**.*',
'javax.annotations.**.*',
'javax.inject.**.*',
'javax.json.**.*',
'org.glassfish.json.**.*'
]
}
}
我尝试在最新版本的 charm-down-ios 中添加 iosRuntime 依赖项,但这似乎没有效果。所以,问题是:有没有一种方法可以自动获取与我指定的依赖项匹配的 libCharm.a,或者手动方式(同样有效)是唯一可能的方式?非常感谢您提前。