Age | Commit message (Collapse) | Author |
|
Fix regression from the previous CL.
As per the comment, if dex file isn't found, it should return null,
instead DexEntry with null dexFile content.
Change-Id: I765177d221749890493b1d36f94889fed7f76f90
|
|
Test: smali-baksmali dis -o framework.jar/classes.dex/2
Change-Id: I8cf93be29993d29b9c10b18632d92e628ca33fda
|
|
Accept the new format as long as the container has just one dex file.
(ported from external/smali)
Test: TreeHugger
Change-Id: I307a16172820c7e73066f952f2f1c9ac6c52c0e2
|
|
|
|
|
|
* Don't include debug info in method size.
The debug info items can be shared across methods so don't count
them as part of private method size.
|
|
Included in this sweeping change:
* Removed all imports using *.
* Updated version to 3.0.0.
|
|
Replace Google Inc. with Google LLC
Remove 'All reights reserved'
Updated using the following script:
git reset --hard
for year in {2000..2022}
do
find . -type f -print0 | xargs -0 sed -i "s/Copyright ${year}, Google Inc\./Copyright ${year}, Google LLC/"
done
find . -type f -print0 | xargs -0 sed -i "s/the name of Google Inc\./the name of Google LLC/"
find . -type f -print0 | xargs -0 sed -i "/^ \* All rights reserved\.$/d"
find . -type f -print0 | xargs -0 sed -i "/^ ~ All rights reserved\.$/d"
find . -type f -print0 | xargs -0 sed -i "/^# All rights reserved\.$/d"
echo "Remaining occourences of 'Google Inc'"
find . -type f | xargs grep 'Google Inc'
echo "Remaining occourences of 'All rights reserved'"
find . -type f | xargs grep 'All rights reserved'
Bug: b/260825748
Change-Id: Ibeb8a198c25d9d333a1cdd6afa465e2fc2702367
|
|
Bug: b/253197642
Change-Id: Ic9ce1042464d506f38b9a53b39ab446574afb6d6
Reviewed-on: https://team-review.git.corp.google.com/c/r8-team/smali/+/1655693
Reviewed-by: Ian Zerny <zerny@google.com>
|
|
Bug: b/253197642
Change-Id: I08cba5041a26132ed11b7be6b29e00155328f813
Reviewed-on: https://team-review.git.corp.google.com/c/r8-team/smali/+/1646132
Reviewed-by: Ian Zerny <zerny@google.com>
|
|
Files missing linceses found with the Go addlicense tool:
go install github.com/google/addlicense@latest
~/go/bin/addlicense -c "Google LLC" -l bsd .
Licenses added using the original authors license with the year
each file was added to the repository.
Bug: b/253197642
Change-Id: I7cd3fef96fcadc81dfde8d29f9dfc80c5bbfefff
Reviewed-on: https://team-review.git.corp.google.com/c/r8-team/smali/+/1606655
Reviewed-by: Ian Zerny <zerny@google.com>
|
|
|
|
the exception. Exceptions are notoriously slow in Java, so we want to avoid that.
|
|
|
|
|
|
in DexPool
|
|
|
|
|
|
- affected methods
-- position
-- limit
-- flip
-- clear
|
|
This refactors everything using an IndentingWriter to use a BaksmaliWriter
instead, but the usages of ReferenceUtil and EncodedValue aren't refactored
yet.
|
|
These are intended to be the centralized place for most individual items
to be formatted and converted to/written as text
|
|
This replaces all uses of ReferenceUtil/EncodedValueUtils.writeEncodedValue.
|
|
This will be a more unified way to get/write out human-readable strings for
individual "things" from a dex file. The goal is to replace things like
ReferenceUtil, EncodedValueUtils, etc.
|
|
|
|
|
|
This method shouldn't be called from outside the class.
|
|
Previously, if you needed to provide a custom dex file rewriter, you
would have to override the DexRewriter class. This provides a more
consistent interface, allowing the dex file rewriter to be specified in
the module.
|
|
|
|
This adds a new rewriteUnwrappedType to the TypeRewriter class, which
gets called with the unwrapped type for array types, with the potentially
modified return value automatically being re-array-ified.
|
|
Otherwise, the reference won't be rewritten correctly if the overriding
class overrides getReferenceType to return a different type.
|
|
This fixes the build. That's what I get for rebasing changes and not
testing.
|
|
|
|
The hidden api restrictions are exposed in the smali language as
additional access flags for fields and methods
|
|
|
|
|
|
|
|
|
|
The only relevant differences are some added/removed fields in the
OatHeader that affect the offsets of some fields we use.
|
|
|
|
The previous implementation did not correctly handle negative numbers.
|
|
|
|
|
|
These get handled as if they had element width=1 and element count=0
|
|
|
|
|
|
|
|
In api 28, the vdex files in, e.g. the framework/arm directory are actually
just sym links to a shared vdex file in the framework directory. However,
the sym links use an absolute path, and so they don't resolve correctly in
the loop mounted system image.
As a simple workaround, we'll just search upward one directory in the path
if the vdex file can't be resolved.
|
|
|
|
Oat version 138 introduced the concept of an "uncompressed" dex file, where
the dex file is listed in the oat file, but it's not actually present in
the oat or vdex files, instead, it's in the apk as per usual.
This change makes dexlib2 ignore these files, treating them as if they are
not a part of the oat file.
|
|
Newer versions of art seem to use ! instead of : to separate the
inner dex filename from the name of the container containing it.
e.g.
/system/framework/framework.jar!classes2.dex
instead of
/system/framework/framework.jar:classes2.dex
|