[INSTALL_FAILED_MISSING_SHARED_…

刚开始学习Android,想了解一下如何在Android下开发C的组件。在网上搜了半天都没有找到很系统的介绍文章。最后发现,其实关于共享库和JNI最好的例子就在Android的源代码里面。
<android sources>/development/samples/PlatformLibrary下包含了关于如何编写和使用共享库的完整例子,其中README.txt给出了简明的介绍。
在编译了全部代码后,接下来尝试在模拟器中安装并运行PlatformLibraryClient.apk
1. 运行模拟器(Android SDK 1.5r2)
$ emulator -avd target2 -system <android sources>/out/target/product/generic/system.img
2. 显示应该安装哪些文件
$ cd <android sources>
$ source build/envsetup.sh
$ cd development/samples/PlatformLibrary/
$ mm
显示结果:
Install: out/target/product/generic/system/app/PlatformLibraryClient.apk
Install: out/target/product/generic/system/etc/permissions/com.example.android.platform_library.xml
Install: out/target/product/generic/system/framework/com.example.android.platform_library.jar
Install: out/target/product/generic/system/lib/libplatform_library_jni.so
3. 安装所需文件(不能直接adb install PlatformLibraryClient.apk,否则会出现Failure [INSTALL_FAILED_MISSING_SHARED_LIBRARY])
a) $ cd <android sources>
b) $ adb remount
c) $ adb push out/target/product/generic/system/etc/permissions/com.example.android.platform_library.xml /system/etc/permissions/
d) $ adb push out/target/product/generic/system/framework/com.example.android.platform_library.jar /system/framework/
e) $ adb push out/target/product/generic/system/lib/libplatform_library_jni.so /system/lib/
4. 接下来需要重启模拟器使上面拷贝的文件生效。但注意此时如果直接关闭模拟器再重启,则刚才对system image的改变都会丢失。所以应采用以下方法:
$ adb shell stop
$ adb shell start
5. 重启后,安装PlatformLibraryClient.apk
$ adb install out/target/product/generic/system/app/PlatformLibraryClient.apk
6. 安装完毕,"Platform Lib Client"出现在Menu中。点击,运行正常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值