【发布时间】:2017-05-09 23:32:21
【问题描述】:
我整天都在查看 Stackoverflow 上针对此问题的各种问题/解决方案,但我无法追踪我的特定问题。我试过了:
- 验证资源位置;
- 图标资源的可绘制与 mipmap;
- 确保资源位于 res/drawable、res/mipmap 或 res/values 文件夹中 (是的,我的 strings.xml 中确实包含未找到的字符串资源);)
- 在 gradle.build 中验证源集;
- 清理项目并删除构建文件夹;
- 导出项目,将其从 Eclipse 工作区中完全删除,然后重新导入项目;
- 使用 --debug 构建以尝试获取有关该问题的更多信息;
- 在任何其他帖子中发现的任何其他建议,无论听起来多么荒谬;)
我是 android 开发和 gradle 的新手,但我不是 Java 或 Eclipse 的新手。
如果我从 Androidmanifest.xml 文件中删除对外部资源的所有引用,项目将在我的连接设备上成功构建、安装和运行,而不会出现任何警告。
我正在使用 FMXL 和 css 作为样式,并且在构建过程中成功找到并使用了这些资源,因此我几乎可以肯定在某些指定的资源文件夹中找不到运行时所需的 android 资源原因。
我希望你们中一些经验丰富的 android 开发人员能看到我明显做错的事情。
也许我在 build.gradle 的 jfxmobile { android {} } 部分中遗漏了一些东西?
以下是相关文件 - 如果您需要其他任何内容,请随时询问:
build.gradle
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.javafxports:jfxmobile-plugin:1.3.5'
}
}
apply plugin: 'org.javafxports.jfxmobile'
repositories {
jcenter()
}
sourceSets {
main {
java {
srcDir "src/java"
}
resources {
srcDir "src/res"
}
}
}
jfxmobile {
android {
manifest = 'AndroidManifest.xml'
compileSdkVersion = 23
targetSdkVersion = 23
minSdkVersion = 17
applicationPackage = 'com.mkdaws32.testapp'
}
}
mainClassName = 'com.mkdaws32.testapp.Main'
AndroidManifest.xml
<?xml version="1.0" encoding="UTF-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.mkdaws32.testapp" android:versionCode="1" android:versionName="0.9">
<supports-screens android:xlargeScreens="true"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-sdk android:minSdkVersion="17" android:targetSdkVersion="25"/>
<application android:label="@string/title" android:icon="@mipmap/icon">
<activity android:name="javafxports.android.FXActivity" android:label="@string/title" android:configChanges="orientation|screenSize">
<meta-data android:name="main.class" android:value="com.mkdaws32.testapp.Main"/>
<meta-data android:name="debug.port" android:value="0"/>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
字符串.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="title">Test FXML App</string>
</resources>
项目文件夹的屏幕截图
构建错误
:processAndroidResourcesDebugC:\Users\Kent\workspace\TestJavaFXPorts3\build\javafxports\tmp\android\AndroidManifest.xml:8: error: Error: No resource found that matches the given name (at 'label' with value '@string/title').
C:\Users\Kent\workspace\TestJavaFXPorts3\build\javafxports\tmp\android\AndroidManifest.xml:8: error: Error: No resource found that matches the given name (at 'icon' with value '@mipmap/icon').
C:\Users\Kent\workspace\TestJavaFXPorts3\build\javafxports\tmp\android\AndroidManifest.xml:9: error: Error: No resource found that matches the given name (at 'label' with value '@string/title').
提前非常感谢!我发现这是一个非常有用的资源,只需浏览已建立的 Q 和 A
【问题讨论】:
-
看起来我要从头开始在我的主开发机器上重新安装这些工具...... sigh 这个 javaFXports/Eclipse 环境似乎非常不稳定 - 我可能会搬到适用于 Android 的 Android Studio 和适用于 IOS 的 XCode - 大多数代码仍然是通用的。糟透了,因为我使用 Eclipse 进行 Java 服务器开发已有 12 年左右的时间了,我真的很喜欢它。
-
改用 Jetbrains 产品是一股清新的空气
-
是的——它们看起来也很不错。