我已将旧Mac“更新”到Mac OS X 10.7.5。我在这台Mac上安装了JDK 1.7.0_72。我正在尝试在Android版本2.3.3的旧Android平板电脑上使用LiveCode独立应用程序。
使用“仅用于开发的标志”选项构建的未经修改的独立版在我的平板电脑上正常运行,但视频无法显示。
首先,我使用LiveCode 6.6.2 for Windows构建Android应用程序。然后我把它复制到我的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
,因为here它说我必须使用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/
中所有文件夹中的文件的重复循环会创建一个列表,但列表中的行是空的,每个文件一行,这意味着它无法确定文件的名称是什么。不用说,我检查了所有文件都包含在新的apk文件中。
可能导致这种情况的原因是什么?
如果您想知道文件路径:我从外部磁盘启动了Mac并使用了内部磁盘上的文件。因此,/ Volumes / Macintosh HD不是此处的系统磁盘。