错误是:
所有com.android.support库必须使用完全相同的版本 规范(混合版本可能导致运行时崩溃)。找到了 版本28.0.0、26.1.0。
这些是依赖项,appcompact视图下有红线
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.google.android.gms:play-services-ads:16.0.0'
}
主要活动。Java代码为
package com.example.agecalculatorpro;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.MobileAds;
import android.app.DatePickerDialog;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.TextView;
import java.util.Calendar;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
Button btn1;
EditText age;
TextView result;
private AdView mAdView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MobileAds.initialize(this,
"ca-app-pub-3940256099942544~3347511713");
mAdView = findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
btn1 = (Button) findViewById(R.id.btn1);
age = (EditText) findViewById(R.id.age);
result = (TextView) findViewById(R.id.result);
btn1.setOnClickListener(this);
}
@Override
public void onClick(View v)
{
String Input_year = age.getText().toString();
result.setVisibility(View.VISIBLE);
if(Integer.parseInt(Input_year) < 2017)
{
Calendar calendar = Calendar.getInstance();
int current_year = calendar.get(calendar.YEAR);
int current_age = current_year - Integer.parseInt(Input_year);
result.setText("Your Age is: " + current_age);
}
else
{
result.setText("Please Enter Correct Year");
}
}
}
该应用程序要么继续崩溃,要么根本没有编译。在不同的AVD上有不同的行为。
此问题在输入admob行后开始: 实施'com.google.android.gms:play-services-ads:16.0.0' 17版本也显示相同的错误。 在使用admob应用之前,它无法正常运行。
我该怎么办?
答案 0 :(得分:0)
没关系...我只是选择擦除AVD上的数据,现在它们可以正常运行。 appcompat的红线保持原样,但该应用仍在运行。
答案 1 :(得分:0)
这很容易解决:
implementation ("com.google.android.gms:play-services-ads:17.1.3") {
exclude group: "com.android.support"
}