C#下开发手机使用的jar

一个小问题,调试了很长时间,才找到问题。

主要是MANIFEST.MF的生成上,这个文件是要放在META-INFO目录下的,采用ICSharpCode.SharpZipLib进行压缩,正确的代码如下:

        void ZipManifest(ZipOutputStream s)//角摩手机乐园http://www.joymo.cn
        {
            byte[] utf8s;
            utf8s = Encoding.UTF8.GetBytes(_Manifest.Replace("$$$",_Pro.BookName).ToCharArray());
            ZipEntry entry = new ZipEntry("META-INF/MANIFEST.MF");
            //entry.DateTime = DateTime.Now;
            entry.Size = utf8s.Length;
            s.PutNextEntry(entry);
            s.Write(utf8s, 0, utf8s.Length);
            s.Flush();
            s.CloseEntry();
        }
注意红色的部分,开始的写法是:META-INF\\MANIFEST.MF,生成的jar能正常用RAR和ZIP打开,但在手机上无法安装,改成上面的代码后,安装正常。



原文地址:https://www.cnblogs.com/freemobile/p/1366336.html