我创建了Android Studio中的作品完美的应用。如果我生成一个AAR和APK并使用这些文件,它们再次正常工作。我可以在几个设备上安装APK,它的工作完美无瑕。现在,当我安装APK的AOSP建立我不断收到java.lang.UnsatisfiedLinkError中的内部:指向的代码的第一行是在呼唤我的本地方法。我用这个链接作为参考Add .apk files in aosp。当我运行模拟器并单击我的应用程序时,它崩溃并产生UnsatisfiedLinkError。如果我使用我的AAR文件生成APK,也会发生同样的情况。再次澄清一下,这只发生在AOSP中,当在Android Studio中使用AAR进行其他构建时,不会发生这种情况,并且无论安装在哪个设备上,该APK总能正常工作。任何有关为什么发生这种情况的建议将会很棒!AOSP本地代码链接错误
回答
AOSP试图找到我的APK使用无论从系统/ lib目录或供应商/ lib目录文件夹,并因为它是不是有它导致UnsatisfiedLinkError中的.so。因此,通过将.so目标文件目录添加到这些位置,APK在启动之后可以在模拟器内正常启动。这也可以通过修改Android.mk并将这些行添加到文件来完成。
包括$(CLEAR_VARS)
LOCAL_MODULE:= MYFILE
LOCAL_SRC_FILES:= LIB/myfile.so#或任何你。所以位于
LOCAL_MODULE_TAGS:=可选
LOCAL_MODULE_SUFFIX:=。所以
LOCAL_MODULE_CLASS: = SHARED_LIBRARIES
include $(BUILD_PREBUILT)
感谢您的解答,它是在主Android,mk或jni目录下添加的吗? – sandeepmaaram
@sandeepmaaram所有这些都会被添加到你的Android.mk文件里面,它会根据你的LOCAL_SRC_FILES生成一个.so文件。您也可以手动将生成的.so文件添加到您正在构建的AOSP文件夹内的那些目录下。 – AConsiglio
非常感谢,从上面的代码“LOCAL_SRC_FILES:= lib/myfile.so#或上面查询.so所在位置”的意思.so文件路径aosp右例如。出/目标/系统/ LIB/myfile.so。那么在jni文件夹下的Android.mk代码如何? 在此先感谢。 – sandeepmaaram
which points to the very first line of code that's calling my native method.
听起来你正在构建应用程序与本机库和包括创建.apk文件只捆绑一些体系结构类型到它。如果你有本地库,确保包括所有的体系结构类型(通常是86和ARMv7做这项工作,但总是先咨询你的兼容性清单),确保如果你这样做ABI splitting您正在使用的权APK。
请consule以下指南,以确保您有the NDK integration set up correctly。
OP正在讨论将一个'apk'包含到AOSP中,这与在运行的操作系统上部署应用程序不同。 – Onik
- 1. 导航AOSP本地代码
- 2. 代码::链接错误
- 3. 链接查询错误代码1052
- 4. F2588链接器错误代码:1($ 00000001)
- 5. C++错误代码将不会链接
- 6. ocamlopt链接错误代码2
- 7. Excel错误跟踪+代码行链接?
- 8. 模板代码链接错误
- 9. 本地方法链接错误
- 10. 将链接链接至本JavaScript代码
- 11. 在本地gerrit上设置AOSP源码
- 12. AOSP生成错误
- 13. AOSP镜像错误
- 14. AOSP构建错误
- 15. aosp_x86-eng建立在AOSP 4.3源代码失败,错误__strlen_chk
- 16. C代码宏编译错误(AOSP:外部/ clearsilver/util的/ neo_err.h)
- 17. Java接口代码错误?
- 18. 缓存接收查询错误:错误代码0? (用于Google地图的ArcGis服务器链接)
- 19. AS3本地连接错误
- 20. 本地连接错误php
- 21. AOSP生成错误使-jN
- 22. Android位图本地代码 - 链接问题
- 23. C++链接器错误(“链接器命令失败,退出代码1”)
- 24. 转到代码编译链接器错误。我可以手动链接吗?
- 25. 为什么我的链接列表代码导致链接错误?
- 26. Ruby代码链接
- 27. 创建AVD并将其链接到AOSP
- 28. 链接16位asm代码时出错
- 29. 获取github链接代码版本
- 30. 在本机代码编译时查找AOSP中的Android版本?
您不能直接在手机上安装.aar存档,因为它们用于库项目。我想你只是指.apk档案。 – anthonymonori
对不起应该说我也尝试过使用AOSP生成APK的Android.mk里面的aar。以下位置包含从AOSP/android/out/target/product/generic/data/app/MyApplicationName生成的APK。当我拿起这个APK并将其传输到我的手机时,它会在启动时崩溃,并且出现同样的不满意的错误。 – AConsiglio
我还增加了APK到/封装/应用/ MyApplicationName – AConsiglio