2011-02-09 9 views
2

私はlibJSA.soという名前のファイルをアンドロイドのメモリカードに持っていて、それを自分のアプリケーションにロードします。アンドロイドのSystem/libフォルダにない.soファイルをロードするには?

System.loadLibrary("libname");を使用してこのファイルを読み込むにはどうすればよいですか?私が試してみました

もの: -

  • /system/libにコピーしてみてください。 ---- --------
  • System.loadlibrary("/mnt/sdcard/folder/libJSA.so");
  • 働いていない働いていない

答えて

1
System.loadlibrary("/mnt/sdcard/folder/libJSA.so"); // Not working 

試してみてください。

System.loadLibrary ("JSA.so"); 

ない(javaはASE敏感である):

System.loadlibrary("JSA.so") 

または代わりに試してください

Static{ 
    System.load("/sdcard/folder/libJSA.so"); 
} 

これをクラス内外に入れますonCreate

1

AFAIKは、システムライブラリでないか、ルートデバイスにいる場合を除いて、署名済みのAPKバンドル以外のライブラリをロードすることはできません。単に

1

System.load("/mnt/sdcard/folder/libJSA.so");

0

は "LIB" プレフィックスを削除してください。
ライブラリ名が「libJSA.so」の場合は、System.loadLibrary ("JSA");