Problema no if

Boa tarde,
Alguém consegue identificar onde está o erro nesse trecho de código?:
fica apresentando erro no if else.
Desde já agradeço.

public void opcaoSelecionada(String opcaoSelecionada){
ImageView imagemResultado = findViewById(R.id.imageResultado);
TextView textoResultado = findViewById(R.id.textResultado);

    int numero = new Random().nextInt(3);
    String [] opcoes = {"Pedra", "Papel", "Tesoura"};
    String opcaoApp = opcoes [numero];

    switch (opcaoApp){
        case "Pedra" :
            imagemResultado.setImageResource(R.drawable.pedra);
        break;

        case "Papel" :
            imagemResultado.setImageResource(R.drawable.papel);
            break;

        case "Tesoura" :
            imagemResultado.setImageResource(R.drawable.tesoura);
            break;
    }

    if(
            (opcaoApp == "Pedra" && opcaoSelecionada = "Tesoura") ||
            (opcaoApp == "Tesoura" && opcaoSelecionada = "Papel") ||
            (opcaoApp == "Papel" && opcaoSelecionada = "Pedra")

    ){
        textoResultado.setText("Você Perdeu :(");
        //app ganhador

    } else if(
                    (opcaoSelecionada == "Pedra" && opcaoApp = "Tesoura") ||
                    (opcaoSelecionada == "Tesoura" && opcaoApp = "Papel") ||
                    (opcaoSelecionada == "Papel" && opcaoApp = "Pedra")


    ){  textoResultado.setText("Você Ganhou :)");
        //usuário ganhador

        }else textoResultado.setText("Empatamos ;)");
            //empate
    }

}
opcaoApp.equals("Pedra") && opcaoSelecionada.equals("Tesoura")

Use o equals para comparar String.

O que o @DlEGO informou está correto. Você está atribuindo (=) e não comparando (==) no segundo membro do AND (&&). Para comparar Strings, sempre prefira o método equals ou equalsIgnoreCase da classe String.

Era isso mesmo, obrigado pela ajuda.

Deu certo, obrigado pela ajuda.