我从官方仓库 (https://github.com/DrKLO/Telegram) 下载了 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 方法,所以我可能可以通过更改本地代码并将其编译为 .so
文件来修复它。
但是,从源代码获取 Telegram 并使其运行不应该这么困难。我错过了什么吗?是否有简单的方法可以完成所有这些操作?还是这很常见?