gpt4 book ai didi

java - ProGuard 不会混淆蓝牙类

转载 作者:行者123 更新时间:2023-12-02 05:22:35 27 4
gpt4 key购买 nike

我在 Android 中使用 ProGuard 来混淆我的代码。我的应用程序使用 Android 蓝牙 API,以下是我的整个代码 fragment 的一部分

  import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.os.Bundle;
import android.widget.Toast;

public class MainActivity extends Activity {

private BluetoothAdapter mBluetoothAdapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
// If the adapter is null, then Bluetooth is not supported
if (mBluetoothAdapter == null) {
Toast.makeText(this, "Bluetooth is not available", Toast.LENGTH_LONG).show();
finish();
return;
}

//more code over here
}

当我启用 ProGuard 并尝试混淆代码时,我使用 Java 反编译器 看到以下输出

Output

我的问题是为什么 BluetoothAdapter 类没有被混淆。为什么 ProGuard 不将自己的命名添加到默认类(例如 BluetoothAdapter)中。我是否需要向配置文件添加任何参数才能混淆适配器类,或者这是不可能的?

请帮我解决这个问题

最佳答案

BluetoothAdapter 类是 android API (android.bluetooth.BluetoothAdapter) 的一部分,proguard 无法混淆对其的引用,否则虚拟机将无法任何方式知道你正在使用这个类。混淆仅在您的类上进行,不会篡改您无法控制的类。

关于java - ProGuard 不会混淆蓝牙类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26381094/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com