gpt4 book ai didi

android - 从源崩溃编译的 Telegram ,更改包名称后出现 jni 错误

转载 作者:太空宇宙 更新时间:2023-11-03 13:52:25 25 4
gpt4 key购买 nike

我从这里的官方存储库下载了 Telegram 的源代码: https://github.com/DrKLO/Telegram

我想编译该应用程序并在手机中使用官方 Telegram 之外的应用程序,因此我将包名称从 org.telegram.messenger 更改为 org.telegram.myname 然后我不得不更改 Java 代码中的一些引用,所以我做了。

现在应用程序可以正常编译,但会因以下错误而崩溃:

E/art: No implementation found for void org.telegram.myname.NativeLoader.init(java.lang.String, boolean) (tried Java_org_telegram_myname_NativeLoader_init and Java_org_telegram_myname_NativeLoader_init__Ljava_lang_String_2Z)

我知道这是因为 jni 使用包名称从 c++ 代码引用 java 方法,我可能可以通过更改 native 代码并将其编译为 .so 文件来修复它。

但是,从源代码启动和运行 Telegram 应该不难。我错过了什么吗?有没有一种简单的方法可以做到这一切?或者这只是正常现象?

最佳答案

好的,下面是我如何让它工作的。在不更改任何 XML 的干净源代码中,我将 applicationID 添加到 build.gradle 并将 applicationIdSuffix 添加到每个构建类型(调试,释放,foss)。

现在它编译没有错误,我可以在原始应用程序之外安装它。

关于android - 从源崩溃编译的 Telegram ,更改包名称后出现 jni 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33574324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com