CodenameOne - 内部 class 导致 dex 构建错误

CodenameOne - Inner class causes dex build errors

我正在他们的服务器上构建我的 CodenameOne 应用程序。这是 Android 版本。 我已经解决了一些构建问题。

现在我面临一个似乎取决于我的源代码的问题:

我有一个 'R' class 里面有一个 'string' class。 key/value 对获取本地化实用方法的字符串常量:

String translatedString=StringRes.getStringByKey(R.string.string_key);

是用法,翻译的要点隐藏在方法中,利用CodenameOne的方式来做。我知道我的方法与他们的方法不同,但它对我来说效果很好,而且它与我的应用程序的 Android 版本相似且相当兼容。

class 类似于:

public class R {
public static Command myCommand=new Command(StringRes.getStringByKey(string.myCommand));
...
...
public static class string
{
...
...
...

在构建中我得到了关于它的错误:

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':transformDexArchiveWithDexMergerForDebug'.

java.lang.RuntimeException: com.android.build.api.transform.TransformException: com.android.dex.DexException: Multiple dex files define Lcom/myapp/app/R$string;

com.android.build.api.transform.TransformException: com.android.dex.DexException:: Multiple dex files define Lcom/myapp/app/R$string; 

com.android.dex.DexException: Multiple dex files define Lcom/myapp/app/R$string; 

这是什么?

如何解决?

我认为失败的是 R class,它是 Android 上的特例。我建议以不同的方式命名您的 class 以避免与本地 android R class.

发生冲突