我有一个名为示例 Activity 的 Activity 。从该 Activity 我打开了一个 Intent , 那是 navigationlayout1 Activity ,它有一个 paypal 服务。应该像他们(paypal)在他们的例子中所做的那样添加这个服务。 我以前没有使用 multidex 选项时没有遇到过这个问题。
我收到类似“退出值 2”的错误,由于此错误,我的 gradle 无法完成。我已经对其进行了一些研究以清除此错误。
我之前的错误(退出值 2)终于被清除了。我很高兴,因为现在没有错误了。但没想到我得到了这个错误。在过去的三天里,我一直被错误困扰。我一直在研究。现在是时候在这里问了,不要再浪费我的时间了..请帮助我
E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: okhttp3.internal.tls.OkHostnameVerifier
at okhttp3.OkHttpClient$Builder.<init>(OkHttpClient.java:364)
at com.paypal.android.sdk.cc.a(Unknown Source)
at com.paypal.android.sdk.cm.<init>(Unknown Source)
at com.paypal.android.sdk.payments.PayPalService.a(Unknown Source)
at com.paypal.android.sdk.payments.PayPalService.onStartCommand(Unknown Source)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2656)
at android.app.ActivityThread.access$1900(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1331)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
我的代码是
Intent intent = new Intent(getActivity(), NavigationLayout1.class);
startActivity(intent);
这个页面会被打开
NavigationLayout1.java
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageView;
import com.example.administrator.login.R;
import com.example.administrator.login.helper.ImageLoader;
import com.paypal.android.sdk.payments.PayPalConfiguration;
import com.paypal.android.sdk.payments.PayPalPayment;
import com.paypal.android.sdk.payments.PayPalService;
//import com.squareup.picasso.Picasso;
public class NavigationLayout1 extends AppCompatActivity {
// private static final String TAG = "paymentdemoblog";
/**
* - Set to PaymentActivity.ENVIRONMENT_PRODUCTION to move real money.
*
* - Set to PaymentActivity.ENVIRONMENT_SANDBOX to use your test credentials
* from https://developer.paypal.com
*
* - Set to PayPalConfiguration.ENVIRONMENT_NO_NETWORK to kick the tires
* without communicating to PayPal's servers.
*/
// private static final String CONFIG_ENVIRONMENT =
// PayPalConfiguration.ENVIRONMENT_NO_NETWORK;
private static final String CONFIG_ENVIRONMENT = PayPalConfiguration.ENVIRONMENT_SANDBOX;
// note that these credentials will differ between live & sandbox
// environments.
private static final String CONFIG_CLIENT_ID = "Af3H9MCGkS0bGBEdj_KFIeZU6uip0RK0hLEONpOxo73KYpboXEsAiib6kwUXfM2n-W3wr9b2bQ_JRKhB";
private static final int REQUEST_CODE_PAYMENT = 1;
private static final int REQUEST_CODE_FUTURE_PAYMENT = 2;
private static PayPalConfiguration config = new PayPalConfiguration()
.environment(CONFIG_ENVIRONMENT)
.clientId(CONFIG_CLIENT_ID)
// The following are only used in PayPalFuturePaymentActivity.
.merchantName("Hipster Store")
.merchantPrivacyPolicyUri(
Uri.parse("https://www.example.com/privacy"))
.merchantUserAgreementUri(
Uri.parse("https://www.example.com/legal"));
PayPalPayment thingToBuy;
/****************************************************************Paypal*********************************/
private String data;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.navigation_layout1);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
data=this.getIntent().getStringExtra("total");
Intent intent = new Intent(this, PayPalService.class);
intent.putExtra(PayPalService.EXTRA_PAYPAL_CONFIGURATION, config);
startService(intent);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
super.onBackPressed();
finish();
return true;
}
}
但是我得到了上面的错误。请帮助我
最佳答案
您可以添加这两个 gradle 文件
"com.paypal.sdk:paypal-android-sdk:2.14.2"
compile 'com.squareup.okhttp3:okhttp:3.3.1'
compile 'com.squareup.okio:okio:1.8.0'
或者,您可以下载 OkHttp.jar和 Okio.jar ,并将它们放在您的 libs 文件夹下。
关于android - Paypal 服务未启动(沙盒帐户),出现以下错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36799424/