Измененное и повторно подписанное приложение не получает имена файлов
Я "обновил" старый Mac до Mac OS X 10.7.5. Я установил JDK 1.7.0_72 на этом Mac. Я пытаюсь использовать автономное приложение LiveCode на моем старом планшете Android с версией Android 2.3.3.
На моем планшете отлично работает немодифицированная автономная версия с функцией "подписать только для разработки", но видео не отображается.
Сначала я создал приложение для Android, используя LiveCode 6.6.2 для Windows. Затем я скопировал его на мой Mac. я использовал
$ java -jar apktool.jar decode /Volumes/Macintosh\ HD/Users/User/Desktop/apk\ tool/MyApp.apk app
декомпилировать файл apk. Он появился в папке с именем "app" в моем домашнем каталоге с подкаталогами:
app
AndroidManifest.xml
apktool.yml
assets/
doc/
links.txt
pic/
vid/
Demos/
Examples/
Other/
Simple Animation.mp4
Vimeo Pro Example.html
Tutorials/
SQL.html
build/
lib/
res/
smali/
Содержимое папки активов включено автономным компоновщиком LiveCode. Я создал все эти файлы и папки во время разработки проекта. Папки в vid
папка содержит несколько файлов HTML и один файл mp4. Я перечислил только несколько html-файлов в дереве файлов.
Я изменил файл AndroidManifest.xml, заменив строку
<application android:label="MyApp" android:debuggable="false">
с
<application android:label="MyApp" android:debuggable="false" android:hardwareAccelerated="true">
После этого я перестроил приложение, снова используя apktool. я использовал sudo
потому что здесь сказано, что я должен использовать sudo:
$ sudo java -jar /Volumes/Macintosh\ HD/Users/User/Desktop/apk\ tool/apktool_1.5.2.jar b -a /Volumes/Macintosh\ HD/Developer/android-s-d-k-mac_x86/platform-tools/aapt
Похоже, что если вы используете sudo один раз, вы должны использовать sudo все время. Итак, теперь я должен был подписать его с помощью
$ sudo jarsigner -verbose -sigalg SHAwithRSA -digestalg SHA1 -keystore /Volumes/Macintosh\ HD/Users/User/app/dist/MyApp.apk myalias
Я проверил, что это было подписано и изменил имя файла, затем выровнял файл
/Volumes/Macintosh HD/Users/User/app/dist/MyApp.apk
в
/Volumes/Macintosh HD/Users/User/app/dist/MyApp_unaligned.apk
Я выровнял файл, используя
$ zipalign -v 4 /Volumes/Macintosh\ HD/Users/User/app/dist/MyApp_unaligned.apk /Volumes/Macintosh\ HD/Users/user/app/dist/MyApp.apk
Этот файл должен работать на моем планшете Android. Я могу запустить и запустить файл, но мое приложение не видит никаких файлов в подпапках папки vid/
кроме Simple Animation.mp4
, Тем не менее, он замечает, что есть файлы. Повторный цикл, который проверяет все папки в папке vid/
for files создает список, но строки в списке пустые, по одной строке для каждого файла, что означает, что он не может выяснить, каковы имена файлов. Излишне говорить, что я проверил, что все файлы включены в новый файл apk.
Что может вызвать это?
Если вам интересно узнать о путях к файлам: я запустил свой Mac с внешнего диска и использовал файлы на внутреннем диске. Итак, /Volumes/Macintosh HD здесь не системный диск.