Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 修改并重新签名的应用程序不';无法检索文件名_Android_Livecode_Jarsigner_Apktool - Fatal编程技术网

Android 修改并重新签名的应用程序不';无法检索文件名

Android 修改并重新签名的应用程序不';无法检索文件名,android,livecode,jarsigner,apktool,Android,Livecode,Jarsigner,Apktool,我已将旧Mac“更新”为Mac OS X 10.7.5。我已经在这个Mac上安装了JDK1.7.072。我正在尝试在旧的Android平板电脑上使用LiveCode独立应用程序,Android版本为2.3.3 未经修改的单机版,带有“仅用于开发的签名”选项,在我的平板电脑上运行良好,但视频不会显示 首先,我使用LiveCode 6.6.2 for Windows为Android构建了应用程序。然后我把它复制到我的Mac电脑上。我曾经 $ java -jar apktool.jar decode

我已将旧Mac“更新”为Mac OS X 10.7.5。我已经在这个Mac上安装了JDK1.7.072。我正在尝试在旧的Android平板电脑上使用LiveCode独立应用程序,Android版本为2.3.3

未经修改的单机版,带有“仅用于开发的签名”选项,在我的平板电脑上运行良好,但视频不会显示

首先,我使用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">
看来,如果你只使用一次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

我使用

$ 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不是这里的系统盘。

你使用专用文件夹路径(“引擎”)吗?事实上,我相信我使用,但请注意,这个问题已经存在了半年多了。还要注意,
put the files
为每个文件返回一行,这意味着可以看到文件,但看不到文件名。
/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