android-app-inventor:将应用安装到SD卡上
作者:互联网
[被编辑为在提出问题后一周显示当前的比赛状态]
我钻研了应用发明家,因为我的孩子(10岁和12岁)即将获得他们的第一款Android手机,并且已经完成了一些拖放编程(游戏制作人)的工作,因此我认为这对他们来说可能是一个很好的切入点.
现在,我已经使用App Inventor自己编写了5个应用程序,并在手机上安装了4个应用程序,尽管手机上的SD卡上有3G可用空间,但显然我“内存不足”,因此我无法安装第5个应用程序.
好的,这是怎么回事?设置->应用程序->管理应用程序不会剪切,因为在appinventor应用程序上“移动到SD卡”选项显示为灰色.
我将第5个应用打包为apk,然后将其解压缩以查看AndroidManifest.xml,但它不是纯文本:-/
不适合我的解决方案:
(1)“等待”
(2)“先根电话,然后…”
(3)“从手机内存中删除一些东西”(一种解决方法,而不是解决方案)
(4)“先购买此产品,然后…”
好的,这是一个更新.我仍然没有设法解决这个问题.这是我到目前为止所做的.
1)我在appinventor中创建了一个名为“ test123”的应用程序,它带有图片和按钮(什么都不做).
2)我创建了一个apk,并将其粘贴在我的网站上:您可以在this link上看到它.任何想要下载的人都可以在手机上运行它,只要他们的手机上有4兆微克的可用内存即可.据我所知,他们无法将其下载到他们的SD卡上.因此,让我澄清一下,挑战在于将该应用程序(链接中的一个)安装到手机SD卡上.
好的,让我们尝试!
3)我将apk放在Linux盒子上,下载了apktool,然后运行
apktool d test123.apk
经过一些琐碎的工作之后,我现在有了一个目录test123.
4)我进入目录test123,在其中找到文件AndroidManifest.xml.我编辑了这个文件;前几行是
<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="3" android:versionName="1.5" package="appinventor.ai_************.test123"
xmlns:android="http://schemas.android.com/apk/res/android">
[我用***审查了我的Gmail地址]
然后我将它们更改为
<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="3" android:versionName="1.5" package="appinventor.ai_************.test123"
xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="preferExternal">
5)我进入了旧apk所在的目录(即包含目录test123的目录)并输入了
apktool b test123
经过一番鞭打之后,程序终止了.
6)我进入目录
test123/dist
在其中找到了一个新的.apk文件,也称为test123.apk.我把它放在我的网站here上.请注意,apk的“ before apktools”和“ after apktools”版本具有完全相同的名称-test123.apk.
7)现在,我将“ after”文件(由apktool b创建的版本)下载到Windows机器上,并使用7-Zip将其打开(切换到Windows只是为了我可以使用答案中建议的精确程序) .我找不到建议删除的文件.我懂了
AndroidManifest.xml
classes.dex
resources.arsc
assets/smallkez.png
res/drawable/ya.png
就是这样.
总而言之,我似乎在DarkXphenomenon解决方案的第5步(撰写本文时)失败了.如果我将“之后”文件下载到手机上并尝试安装,则会收到令人难以置信的错误信息:“!未安装应用程序”,我唯一的选择是单击“完成”.
不幸的是,我仍然不知道我是否在尝试解决不可能完成的事情,即是否在谷歌上搜索导致人们找到曾经有效但不再可行的解决方案,或者我只是想念一些愚蠢的事情.
对我来说,这是一个根本问题!我的手机开箱即用,大约有21兆的可用内存,而我的sd卡则有千兆字节和千兆字节.
解决方法:
问题本身:
移至sd卡选项为灰色.
解:
目前,app-inventor本身尚不支持安装到外部SD功能.
因此,您遇到的问题是一个显示此问题的应用程序.
这种方法确实有效.我测试了!为了方便下载,我还将所有我使用过的工具上传到了我的Google云端硬盘帐户.
test_orig.apk是来自app-inventor的原始文件.
步骤1.使用apktool反编译APK.可以使用apktool在Windows下完成.
This是我在Windows下使用的档案.无需对源进行解码即可编辑清单.因此,使用的命令是apktool d -s test_orig.apk
步骤2.这将在包含apktool的同一目录中创建名为test_orig的文件夹.该目录中包含文件夹AndroidManifest.xml.在文本编辑器中将其打开,然后更改以下行.
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ...android:installLocation="preferExternal">
步骤3.是时候使用apktool b test_orig重新编译apk
步骤4.现在,该签名了.使用Sign+可以轻松对其进行签名.
只需添加apk,它将吐出签名的副本.不需要做其他任何事情.
步骤5.您已签名的APK已准备好安装.请记住要卸载旧的apk,否则您将看到一条错误消息,提示未安装应用程序:存在具有冲突签名的现有软件包.
最终结果:
已签名的应用程序可以下载here.
标签:android,app-inventor,android-sdcard 来源: https://codeday.me/bug/20191012/1900610.html