wynalazca aplikacji: instalowanie aplikacji na karcie SD

[edytowano, aby pokazać aktualny stan gry tydzień po zadaniu pytania]

Zagłębiłem się w twórcę aplikacji, ponieważ moje dzieci (w wieku 10 i 12 lat) właśnie dostają swoje pierwsze telefony z Androidem i wykonały programowanie metodą przeciągnij i upuść (twórca gier), więc pomyślałem, że może to być dla nich dobry punkt wejścia.

Napisałem już 5 aplikacji sam z wynalazcą aplikacji i zainstalowałem 4 na moim telefonie, i nie mogę zainstalować piątego, ponieważ najwyraźniej jestem „poza pamięcią”, pomimo posiadania 3 darmowych koncertów na karcie SD w telefonie.

Ok, więc o co chodzi? Ustawienia-> Aplikacje-> Zarządzaj aplikacjami nie przerywa, ponieważ opcja „Przenieś na kartę SD” jest wyszarzona w aplikacjach appinventor.

Zapakowałem moją piątą aplikację jako apk, a następnie rozpakowałem ją, aby wyświetlić plik AndroidManifest.xml, ale nie jest to zwykły tekst: - /

Rozwiązania, które nie są dla mnie odpowiednie:

(1) „Czekaj”

(2) „Korzeń telefonu, a następnie ...”

(3) „usuń niektóre rzeczy z pamięci telefonu” [obejście, nie rozwiązanie]

(4) „Kup ten produkt, a następnie ...”

OK więc oto aktualizacja. Nadal nie udało mi się rozwiązać tego problemu. Oto co zrobiłem do tej pory.

1) Stworzyłem w appinventor aplikację o nazwie „test123” z obrazem i przyciskiem (który nic nie robi).

2) Stworzyłem apk i umieściłem go na mojej stronie internetowej: możesz go zobaczyć na stronieten link . Każdy, kto chce, może go pobrać i uruchomić na swoim telefonie, o ile w telefonie ma 4 lub więcej megabajtów wolnej pamięci. O ile wiem, nie mogą go pobrać na kartę SD. Pozwólcie, że wyjaśnię, że wyzwaniem jest zainstalowanie tej aplikacji, tej w linku, na karcie SD telefonu.

OK, spróbujmy!

3) Umieściłem apk na linuxowym pudełku, pobrałemapktooli uciekł

apktool d test123.apk

Po odrobinie baksmalingu miałem teraz test katalogu123.

4) Przeniosłem się do katalogu test123, gdzie znalazłem plik AndroidManifest.xml. Edytowałem ten plik; pierwsze kilka linii było

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

[Cenzurowałem mój adres gmail z *** s]

i zmieniłem je na

<?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) Wprowadziłem się do katalogu, w którym znajdował się stary apk (tj. Do katalogu zawierającego test katalogu 123) i wpisałem

apktool b test123

Po pewnym wygładzeniu program zakończył działanie.

6) Zmieniłem katalog

test123/dist

w nim znalazłem nowy plik .apk, zwany także test123.apk. Umieściłem to na mojej stronie internetowejtutaj . Zauważ, że wersje apk „przed apktools” i „po apktools” mają dokładnie taką samą nazwę - test123.apk.

7) Teraz pobrałem plik „after” - wersję utworzoną przez apktool b - na komputer z systemem Windows i otworzyłem go za pomocą 7-Zip (przełączenie na Windows było po prostu tak, że mogłem użyć precyzyjnego programu sugerowanego w odpowiedziach) . Nie mogę jednak znaleźć plików, które zostały zasugerowane, aby je usunąć. Widzę

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

i to wszystko.

Podsumowując, wydaje mi się, że zawodzę w kroku 5 rozwiązania DarkXphenomenon (w momencie pisania). Jeśli ściągnę plik „after” na mój telefon i spróbuję go zainstalować, otrzymam niezwykle informacyjny błąd „! Aplikacja nie jest zainstalowana” i moją jedyną opcją jest kliknięcie „gotowe”.

Niestety nadal nie wiem, czy próbuję zrobić to, co niemożliwe, tzn. Czy szukanie googlu prowadzi ludzi do rozwiązań, które kiedyś działały, ale już nie działają, czy też po prostu brakuje mi czegoś głupiego.

To dla mnie taki fundamentalny problem! Mój telefon, po wyjęciu z pudełka, ma około 21 megabajtów wolnej pamięci, a moja karta SD ma gigabajty i gigabajty.

questionAnswers(3)

yourAnswerToTheQuestion