Android R8不会混淆成员名称

Android R8不会混淆成员名称,android,obfuscation,android-r8,Android,Obfuscation,Android R8,我有以下代码: import static com.example.test.Utils.getPackageManagerReflection; ... public class MainActivity extends AppCompatActivity { ... @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInsta

我有以下代码:

import static com.example.test.Utils.getPackageManagerReflection;
...

public class MainActivity extends AppCompatActivity {
    ...

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);

        PackageManager packageManagerReflection;
        try {
            packageManagerReflection = getPackageManagerReflection(...);
        } catch (NoSuchMethodException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
        if(packageManagerReflection == null) {
            finish();
            return;
        }
    }

    ...
}
com.example.test.Utils.GetPackageManager反射:

public static <A, B> B getPackageManagerReflection(A param1, Class<B> param2, byte[] param2, Object param4) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
    ...
}
我正在使用最新版本的Android Studio及其所有组件

为什么在生成的代码中保留成员
packageManagerReflection
的名称

我已经尝试将其重命名为其他名称,但名称中没有
反射
(例如
packageManagerRef
),但它仍然在classes.dex中比较

我也已经在
app/build/outputs/mapping/debug
中看到了
seeds.txt
mapping.txt
usage.txt
,但它没有出现


非常感谢!

本地变量名在应用程序的发行版中会被删除,它们不是执行所必需的(并且不能通过反射获得)。因此,R8不需要也不需要重命名它们。请尝试在发布版本中查找相同的信息,它不应该存在。

本地变量名称在应用程序的发布版本中被剥离,它们对于执行来说不是必需的(并且通过反射不可用)。因此,R8不需要也不需要重命名它们。请尝试在发布版本中查找相同的信息,它不应该存在。

谢谢,我会尽快尝试!是的!你是真的!非常感谢!谢谢,我会尽快尝试!是的!你是真的!非常感谢!
.line 225
    .end local v2    # "packageManagerReflection":Landroid/content/pm/PackageManager;
    .end local v3    # "deviceId":Ljava/lang/String;
    .end local v5    # "exception":Ljava/lang/IllegalArgumentException;
    :catch_301
    move-exception v2

.line 231
    .local v2, "packageManagerReflection":Landroid/content/pm/PackageManager;
    nop