mirror of
https://git.sr.ht/~eliasnaur/gio
synced 2026-07-04 08:55:35 +00:00
cmd/gio: (android) don't compress resources.arsc in apks
Compressing resources.arsc result in warnings such as "resources.arsc in APK '...' is compressed." in the adb logs. Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
+24
-2
@@ -338,7 +338,11 @@ func exeAndroid(tmpDir string, tools *androidTools, bi *buildInfo) (err error) {
|
|||||||
}
|
}
|
||||||
for _, f := range apkFiles {
|
for _, f := range apkFiles {
|
||||||
name := filepath.Base(f)
|
name := filepath.Base(f)
|
||||||
apkw.Add(name, f)
|
if name == "resources.arsc" {
|
||||||
|
apkw.Store(name, f)
|
||||||
|
} else {
|
||||||
|
apkw.Add(name, f)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
for _, a := range bi.archs {
|
for _, a := range bi.archs {
|
||||||
arch := allArchs[a]
|
arch := allArchs[a]
|
||||||
@@ -555,17 +559,35 @@ func (z *zipWriter) Create(name string) io.Writer {
|
|||||||
return &errWriter{w: w, err: &z.err}
|
return &errWriter{w: w, err: &z.err}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (z *zipWriter) Store(name, file string) {
|
||||||
|
z.add(name, file, false)
|
||||||
|
}
|
||||||
|
|
||||||
func (z *zipWriter) Add(name, file string) {
|
func (z *zipWriter) Add(name, file string) {
|
||||||
|
z.add(name, file, true)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (z *zipWriter) add(name, file string, compressed bool) {
|
||||||
if z.err != nil {
|
if z.err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
w := z.Create(name)
|
|
||||||
f, err := os.Open(file)
|
f, err := os.Open(file)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
z.err = err
|
z.err = err
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
defer f.Close()
|
defer f.Close()
|
||||||
|
fh := &zip.FileHeader{
|
||||||
|
Name: name,
|
||||||
|
}
|
||||||
|
if compressed {
|
||||||
|
fh.Method = zip.Deflate
|
||||||
|
}
|
||||||
|
w, err := z.w.CreateHeader(fh)
|
||||||
|
if err != nil {
|
||||||
|
z.err = err
|
||||||
|
return
|
||||||
|
}
|
||||||
if _, err := io.Copy(w, f); err != nil {
|
if _, err := io.Copy(w, f); err != nil {
|
||||||
z.err = err
|
z.err = err
|
||||||
return
|
return
|
||||||
|
|||||||
Reference in New Issue
Block a user