【发布时间】:2013-02-01 19:05:33
【问题描述】:
我正在尝试使用 Android 的更新程序脚本语言(Edify?)通过无线方式将 APK 安装到我可以控制的嵌入式设备上。 Here's 描述语言的链接。
我的第一次尝试如下:
package_extract_file("added_files/data/app/test.apk", "/data/app/test.apk");
这导致test.apk 被自动安装在/data/data/com.acme.test 中,但是目录/data/data/com.acme.test/lib 是空的,而它应该包含test.so,这是一个包含在test.apk 中的共享库。 (如果我使用adb install test.apk手动安装,库被解压。)
然后我尝试将 APK 提取到 /data 而不是 /data/app,这样操作系统就不会自动将其安装到 /data/data,我可以尝试使用脚本安装:
package_extract_file("added_files/data/app/test.apk", "/data/test.apk");
run_program("/system/bin/pm", "install", "/data/test.apk");
这导致了以下错误:
about to run program [/system/bin/pm] with 3 args
run_program: execv failed: Exec format error
run_program: child exited with status 1
我不确定为什么会发生上述错误。
有没有办法安装 APK 并自动提取其共享库?我可以手动安装这些库,但我希望避免这种情况。
【问题讨论】:
标签: android android-install-apk edify