我正在尝试从API级别28(compileSdkVersion 28)的源代码编译.apk。该应用程序编译正常,但安装后崩溃。我的应用在界面本身的各个页面上都有Admob广告。
这是我的项目级build.gradle-
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.4.1'
classpath 'com.google.gms:google-services:4.2.0'
}
}
allprojects {
repositories {
jcenter()
google()
}
}
这是我的应用程序级别的build.gradle-
apply plugin: 'com.android.application'
android {
useLibrary 'org.apache.http.legacy'
compileSdkVersion 28
defaultConfig {
applicationId "****APP_ID****"
minSdkVersion 16
targetSdkVersion 28
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.google.android.gms:play-services-ads:17.2.1'
implementation 'com.android.support:customtabs:27.0.2'
implementation 'com.google.android.gms:play-services-maps:+'
implementation 'com.google.code.gson:gson:2.8.0'
implementation 'com.github.bumptech.glide:glide:3.7.0'
implementation 'com.squareup.okhttp3:okhttp:3.9.1'
}
apply plugin: 'com.google.gms.google-services'
这是我的AndroidManifest.xml中的广告代码-
<application>
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="*****ADMOB-ID*****"/>
</application>
这是我的MainActivity.java中的广告代码
import com.google.android.gms.ads.MobileAds;
public class MainActivity extends Activity {
private LinearLayout linear1;
private AdView adview1;
@Override
protected void onCreate(Bundle _savedInstanceState) {
super.onCreate(_savedInstanceState);
setContentView(R.layout.main);
initialize(_savedInstanceState);
initializeLogic();
MobileAds.initialize(this, "*****ADMOB-ID*****");
}
我对Android编码比较陌生。可能是什么问题?
答案 0 :(得分:2)
您必须从应用程序中禁用~/.gradle/gradle.properties
,以便在清单中添加以下行
org.apache.http.legacy
从gradle中删除 useLibrary'org.apache.http.legacy'
如果您在应用程序中使用任何http网址,则refer this
答案 1 :(得分:1)
您必须替换您的应用程序ID
defaultConfig {
applicationId "****APP_ID****"
minSdkVersion 16
targetSdkVersion 28
versionCode 1
versionName "1.0"
}
您必须添加版本
implementation 'com.google.android.gms:play-services-maps:+'
您必须在此处添加admob应用ID
<application>
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="*****ADMOB-ID*****"/>
</application>
在这里
MobileAds.initialize(this, "*****ADMOB-ID*****");
首先尝试修复这些错误
答案 2 :(得分:0)
如果您在代码中使用网址,只需在网址中使用“ https://jsfiddle.net/sbfield/nojhqbtx/1/ ...”而不是“ https://theTargetUrl ...”就可以了! 它应该像魅力一样工作。