java.lang.UnsatisfiedLinkError: Cannot load library:

http://discuss.cocos2d-x.org/t/sdkbox-adcolony-crash-on-startup/33860

E/AndroidRuntime(18413): java.lang.UnsatisfiedLinkError: Cannot load library: link_image[1941]: 1978 could not load needed library 'libadcolony.so' for 'libMyGame.so' (load_library[1096]: Library 'libadcolony.so' not found)
Android 4.3 以下的系统在加载依赖库时只会到系统的动态库目录查找,而 Android 4.3 修正了这个问题,会首先在应用的 lib 目录查找。所以报错的机器的系统都是 4.3 以下的。

结论

在游戏的 Android.mk 中引用的动态库需要通过 System.loadLibrary() 方法加载,并且要先于游戏的动态库加载。

解决办法:

public class AppActivity extends Cocos2dxActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        System.loadLibrary("js");
        System.loadLibrary("adcolony");
        super.onCreate(savedInstanceState);
        SDKBox.init(this);
    }

link:

    原文作者:自由快挂
    原文地址: https://www.jianshu.com/p/98a9c8a33bd1
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞