当前位置: 首页 > 知识库问答 >
问题:

Android studio找不到java。数学工程中的一些方法

滕学义
2023-03-14

我和科特林在Intellij Idea中实施了一个项目。这是没有错误的工作。这是我的Intellij项目照片,没有错误

longValueExact()

Android Studio项目照片:

我打开了java。数学android studio中的BigInteger类,并使用longValueExact()方法:

open class AuthKey(val key: ByteArray) {

constructor(key: ByteBuffer) : this(key.array())

init {
    if (key.size != 256)
        throw RuntimeException("AuthKey must be 256 Bytes found ${key.size} bytes")
}

// see https://core.telegram.org/mtproto/description#key-identifier
// SHA1 generates 20 bytes long hash, authKeyId is the lower 8 bytes
val keyId = CryptoUtils.substring(CryptoUtils.SHA1(key), 12, 8)

fun getKeyIdAsLong() = BigInteger(keyId).longValueExact()
}

class TempAuthKey(key: ByteArray, val expiresAt: Int) : AuthKey(key)

这意味着我们在Java1.8中有这个类,我们在android studio中添加了这个类。android studio用外部库中的所有方法加载这个类。但是我们不能在项目类中使用这些方法!

有人能帮我吗?

共有1个答案

邢浩邈
2023-03-14

Android有自己的java实现。无论什么类,都可以有不同的接口,尤其是在最近的Java版本中添加的东西。在https://developer.android.com/reference/java/math/BigInteger.html你可以看到,即使是最新的Android API(25)也没有这种方法。因此,如果你成功地编译了这个程序,它将无法在设备上实际运行。

更新-此方法和其他“值精确”方法已在API 31中添加到Android。

 类似资料:
  • 问题内容: 我在使用简单的hello world程序时遇到了麻烦!我希望有人能对此有所启发。 因此,我收到的错误如下: 因此,通过错误,我可以看到它 显然 缺少main,但是它在那里: 如果有帮助,我就在Mac OS / X上。 问题答案: 问题在于您的方法没有采用String数组作为参数。请使用以下签名: 要么 其他有效选项是: 在Java语言规范中,这被告知如下: 方法main必须声明为pub

  • AndroidStudio 2.2.3无法解决我的RealmRecycorViewAdapter引用。我直接从Realm站点跟随了RecyclerViewAdpper示例。有人能帮我弄清楚为什么它找不到RealmRecyclerViewAdapter吗? 以下是我的进口声明: 这是我的项目级gradle文件: 这是我的应用程序级gradle文件: com.android.application应用

  • 我试图在Flink的数据流上应用每窗口功能。以下是我的代码 下面是我的实现MyProcessWindow函数 然而,当我试图通过maven编译上述代码时,我得到了以下错误 知道我做错了什么吗?仅供参考,我正在使用ApacheFlink 1.5.1版,并在Mac上使用maven3编译Java代码。

  • 分级同步消息为: 错误:(24,0)找不到Gradle DSL方法:“Android()”可能的原因: 我不太确定这个方法到底在哪里。如果它是位于应用程序的文件中的一个,我仍然不知道从这里到哪里去。感谢任何帮助。

  • 当我试图从GitHub复制这个回购时。我已经尝试了官方文件禁用杰克,也检查了SO link1、link2,但它们没有多大帮助,因为我试图移除 从分级,按照官方文档,但错误仍然存在,也试图无效缓存和重新启动,但没有任何结果。非常感谢任何帮助 模块级分级文件: 项目级分级文件:

  • 我正在尝试执行一些脚本,然后使用部署web应用程序。 但是,当我尝试运行时,我遇到了一个错误 我的如下所示