【发布时间】:2017-02-04 11:02:33
【问题描述】:
为了在 Eclipse 下使用 Java 在 Android 中创建文件,我必须使用:
File docsFolder = new File(Environment.getExternalStorageDirectory() + "/toto.txt");
所以,我必须导入import android.os.Environment。
案例 1: 在 Eclipse 项目 - Gradle - Refresh All 之后,我收到此错误:
error: package android.os does not exist
import android.os.Environment;
^
C:\Users\pascal\workspaceNeon\JFX_withGluon_10.8n\src\main\java\com\gluonapplication\PopUp.java:2694: error: cannot find symbol
GluonApplication.traceSimple("Path: " + Environment.getExternalStorageDirectory());
^
symbol: variable Environment
案例 2:
结果:我在 build.gradle 文件中添加了“apply plugin: 'android-library'”(见下文)。
在这种情况下,在 Gradle“全部刷新”上,我得到:
"FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring root project 'JFX_withGluon_10.8n'.
> **android.compileSdkVersion is missing!**"
看来我的 build.gradle 文件 没问题。我刚刚补充说: “应用插件:'android-library'”。
Java 构建路径库包括 android-25.jar。
src/android/res/AndroidManifest.xml:
"<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="25"/>
注意:之前在Java源码中,Android系统没有这个文件管理,生成.apk是没有问题的。我还没有处理 gradle。
非常感谢您的帮助。
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.javafxports:jfxmobile-plugin:1.3.2'
}
}
apply plugin: 'org.javafxports.jfxmobile'
apply plugin: 'android-library'
repositories {
jcenter()
maven {
url 'http://nexus.gluonhq.com/nexus/content/repositories/releases'
}
}
mainClassName = 'com.gluonapplication.GluonApplication'
dependencies {
compile 'com.gluonhq:charm:4.3.0'
compile files('libs/android-support-v4.jar')
}
jfxmobile {
downConfig {
version '3.2.0'
plugins 'accelerometer', 'compass', 'device', 'orientation', 'storage', 'vibration', 'display', 'magnetometer', 'lifecycle', 'statusbar', 'position'
}
android {
applicationPackage = 'com.gluonapplication'
manifest = 'src/android/AndroidManifest.xml'
androidSdk = 'C:/Users/pascal/AppData/Local/Android/sdk'
resDirectory = 'src/android/res'
compileSdkVersion = '25'
buildToolsVersion = '25.0.1'
}
ios {
infoPList = file('src/ios/Default-Info.plist')
forceLinkClasses = [
'com.gluonhq.**.*',
'javax.annotations.**.*',
'javax.inject.**.*',
'javax.json.**.*',
'org.glassfish.json.**.*'
]
}
}
【问题讨论】:
-
您为什么在 2017 年使用 ECLIPSE?不再支持 ECLIPSE!
-
如果你删除
gluon标签,人们会把它当作一个普通的Android问题。使用gluon和javafxports标签避免混淆。
标签: java android gradle javafx gluon-mobile