2

[質問をしてから 1 週間後のプレイの現在の状態を表示するように編集]

私の子供 (10 歳と 12 歳) が初めての Android フォンを手に入れようとしていて、ドラッグ アンド ドロップ プログラミング (ゲーム メーカー) を行ったので、アプリの発明者を掘り下げました。

app Inventor を使用して自分で 5 つのアプリを作成し、4 つを電話にインストールしましたが、電話の SD カードに 3 ギガの空き容量があるにもかかわらず、明らかに「メモリ不足」であるため、5 つ目のアプリをインストールできません。

さて、何が起こっているのですか?appinventor アプリでは [SD カードに移動] オプションがグレー表示されているため、[設定] -> [アプリケーション] -> [アプリケーションの管理] ではうまくいきません。

5 番目のアプリを apk としてパッケージ化し、それを解凍して AndroidManifest.xml を確認しましたが、プレーン テキストではありません :-/

私に合わない解決策:

(1)「待って」

(2) 「電話をルート化してから...」

(3) 「電話のメモリからいくつかのものを削除する」[回避策であり、解決策ではありません]

(4)「この商品を買ったら…」


よし、更新だ。私はまだこの問題を解決できていません。これが私がこれまでに行ったことです。

1) appinventor で、「test123」という名前のアプリケーションを、画像とボタン (何もしない) で作成しました。

2) apk を作成し、自分の Web サイトに貼り付けました。このリンクで確認できます。携帯電話に 4 MB 程度の空きメモリがあれば、誰でもダウンロードして携帯電話で実行できます。私の知る限り、SD カードにダウンロードすることはできません。そのため、課題は、リンクにあるアプリを電話のSDカードにインストールすることであることを明確にしましょう.

よし、やってみよう!

3)apkをLinuxボックスに置き、 apktoolをダウンロードして実行しました

apktool d test123.apk

ちょっとしたバックスマリングの後、ディレクトリ test123 ができました。

4) AndroidManifest.xml ファイルを見つけたディレクトリ test123 に移動しました。このファイルを編集しました。最初の数行は

<?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">

[***s で 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

その中に、 test123.apk とも呼ばれる新しい .apk ファイルを見つけました。ここに自分のウェブサイトに載せました。「apktools の前」と「apktools の後」の両方のバージョンの apk は、まったく同じ名前 ( test123.apk ) であることに注意してください。

7)「後」ファイル(apktool bによって作成されたバージョン)をWindowsマシンにダウンロードし、7-Zipで開きました(Windowsへの切り替えは、回答で提案された正確なプログラムを使用できるようにするためでした) . ただし、削除するように提案されたファイルが見つかりません。そうですか

AndroidManifest.xml
classes.dex
resources.arsc
assets/smallkez.png
res/drawable/ya.png

以上です。


要約すると、DarkXphenomenon のソリューションのステップ 5 (執筆時点) で失敗しているようです。「after」ファイルを携帯電話にダウンロードしてインストールしようとすると、信じられないほど有益なエラー「!アプリケーションがインストールされていません」が表示され、「完了」をクリックするしかありません。

残念なことに、私が不可能なことをしようとしているのか、つまり、以前は機能していたが機能しなくなった解決策に人々を導いているのか、それとも何かばかげたことを見逃しているだけなのか、まだわかりません。

これは私にとってとても基本的な問題です!私の電話は、箱から出してすぐに約21メガの空きメモリがあり、SDカードにはギガバイトとギガバイトがあります.

4

3 に答える 3

4

問題自体:SDカードへの移動オプションはグレー表示されています。

問題

解決:

現在、app-inventor自体はまだ外部SD機能へのインストールをサポートしていません。だから、あなたが直面している問題はこれを示すアプリです。

このアプローチ機能します。私はそれをテストしました!また、ダウンロードを簡単にするために、使用したすべてのツールをGoogleドライブアカウントにアップロードしています。

test_orig.apkapp-inventorからの元のファイルです。

手順1.apktoolを使用してAPKを逆コンパイルします。これは、apktoolを使用してWindowsで実行できます。 これは私が窓の下で使用したアーカイブです。マニフェストを編集するためにソースをデコードする必要はありません。したがって、使用されるコマンドはapktool d -s test_orig.apk

逆コンパイル

手順2.これにより、test_origapktoolを含む同じディレクトリに名前が付けられたフォルダが作成されます。このディレクトリ内には、フォルダがありますAndroidManifest.xml。それをテキストエディタで開き、次の行を変更します。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"  ...android:installLocation="preferExternal">

マニフェストを変更する

ステップ3.を使用してapkを再コンパイルする時間apktool b test_orig 再コンパイル

ステップ4.次に、署名します。Sign+を使用すると簡単に署名できます。apkを追加するだけで、署名されたコピーが吐き出されます。他に何もする必要はありません。

署名

ステップ5.署名されたapkをインストールする準備ができました。古いapkをアンインストールすることを忘れないでください。そうしないと、次のようなエラーが表示されます。Application Not Installed: An existing package with a conflicting signature exists.

最終結果:

終わり

署名されたアプリケーションは、ここからダウンロードできます。

于 2012-07-10T17:49:54.950 に答える
1

それは既知の問題のようです:

http://code.google.com/p/app-inventor-for-android/issues/detail?id=186

このスレッドの誰かが解決策を見つけたと言っていますが、推測する必要がある場合、彼らが使用した解決策は、apk ファイル内でマニフェストが難読化される前のものであると推測できます。

残念ながら、現時点ではアプリを SD カードに移動する (簡単な) 方法はないと思います。

この問題をMIT アプリ発明者フォーラムに投稿することはおそらく価値があります

于 2012-07-10T17:45:49.907 に答える
1

私はもっ​​と頻繁にここにぶら下がる必要があります...

メインフェストを編集できるサードパーティ製アプリが 2 つあります。彼らは、apk を分解してマニフェストを取得し、編集できるようにすることで、あなたが取り組んでいたことを行います。

ai4a App Inventor の新しいバージョンを作成しましたhttp://sourceforge.net/projects/ai4a-configs/files/V1.2/

マニフェストが一時フォルダーに保存され、そこで編集して、編集したマニフェストで apk を再構築できます。SD カードへのインストールはテストしていません (Google TV に App Inventor アプリをいくつか置いて動作を確認しました ;-))。ai4a サーバーで試した場合は、必ずお知らせください。

サーバーについて話しているところですhttps://groups.google.com/forum/?hl=en#!forum/ai4a

ここにサポートがあります https://groups.google.com/forum/?hl=en#!forum/usgsuacwai

ゲイリー

于 2012-07-19T11:27:03.313 に答える