新 Google Play 服务 Admob 权限错误
New Google Play Services Admob permissions error
我正在测试通过 Google Play 服务实施的新 google Admob。
这一切都是通过代码完成的,根本没有 xml,除了 android 清单
private Activity m_activity;
private AdView m_adview;
private AdRequest m_adrequest;
public void init_admob() {
Log.d("--test--admob--", "Admob Init started");
m_adview = new AdView(m_activity);
m_adview.setAdUnitId("ca-app-pub-9986005637768452/7524337670");
m_adview.setAdSize(AdSize.SMART_BANNER);
Log.d("--test--admob--", "Admob Init finished");
}
public void show_banner() {
Log.d("--test--admob--", "Admob building add request started");
m_adrequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice("TEST DEVICE ID")
.build();
Log.d("--test--admob--", "Admob building add request finished ");
Log.d("--test--admob--", "Admob attempting to show ads");
m_adview.loadAd(m_adrequest);
Log.d("--test--admob--", "Admob finished building ads");
}
在我调用 show_banner 之后,我收到了直到
的日志消息
Log.d("--test--admob--", "Admob attempting to show ads");
然后应用挂起并显示以下错误代码。
Could not find method android.content.pm.PackageManager.getPackageInstaller, referenced from method com.google.android.gms.common.ew.c
W/ActivityManager( 2282): Permission Denial: opening provider com.google.android.gsf.gservices.GservicesProvider from ProcessRecord{42624eb8 1701:com.test.admob/u0a398} (pid=1701, uid=10398) requires com.google.android.providers.gsf.permission.READ_GSERVICES or com.google.android.providers.gsf.permission.WRITE_GSERVICES
W/ActivityManager( 2282): Permission Denial: opening provider com.google.android.gsf.gservices.GservicesProvider from ProcessRecord{42624eb8 1701:com.test.admob/u0a398} (pid=1701, uid=10398) requires com.google.android.providers.gsf.permission.READ_GSERVICES or com.google.android.providers.gsf.permission.WRITE_GSERVICES
W/ActivityManager( 2282): Permission Denial: opening provider com.google.android.gsf.gservices.GservicesProvider from ProcessRecord{42624eb8 1701:com.test.admob/u0a398} (pid=1701, uid=10398) requires com.google.android.providers.gsf.permission.READ_GSERVICES or com.google.android.providers.gsf.permission.WRITE_GSERVICES
W/ActivityManager( 2282): Permission Denial: opening provider com.google.android.gsf.gservices.GservicesProvider from ProcessRecord{42624eb8 1701:com.test.admob/u0a398} (pid=1701, uid=10398) requires com.google.android.providers.gsf.permission.READ_GSERVICES or com.google.android.providers.gsf.permission.WRITE_GSERVICES
V/WebViewChromiumFactoryProvider( 1701): Binding Chromium to main looper Looper (main, tid 1) {422237d8}
android 清单
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<activity android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version"/>
[编辑]
我忘了说我也试过添加但是也没用。
将以下权限添加到您的 menifest.xml
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
这似乎是 Google Play 服务 4.3 版中的错误。
参见 https://groups.google.com/forum/#!topic/google-admob-ads-sdk/sePctoDJbRg%5B1-25%5D
我正在测试通过 Google Play 服务实施的新 google Admob。
这一切都是通过代码完成的,根本没有 xml,除了 android 清单
private Activity m_activity;
private AdView m_adview;
private AdRequest m_adrequest;
public void init_admob() {
Log.d("--test--admob--", "Admob Init started");
m_adview = new AdView(m_activity);
m_adview.setAdUnitId("ca-app-pub-9986005637768452/7524337670");
m_adview.setAdSize(AdSize.SMART_BANNER);
Log.d("--test--admob--", "Admob Init finished");
}
public void show_banner() {
Log.d("--test--admob--", "Admob building add request started");
m_adrequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice("TEST DEVICE ID")
.build();
Log.d("--test--admob--", "Admob building add request finished ");
Log.d("--test--admob--", "Admob attempting to show ads");
m_adview.loadAd(m_adrequest);
Log.d("--test--admob--", "Admob finished building ads");
}
在我调用 show_banner 之后,我收到了直到
的日志消息Log.d("--test--admob--", "Admob attempting to show ads");
然后应用挂起并显示以下错误代码。
Could not find method android.content.pm.PackageManager.getPackageInstaller, referenced from method com.google.android.gms.common.ew.c
W/ActivityManager( 2282): Permission Denial: opening provider com.google.android.gsf.gservices.GservicesProvider from ProcessRecord{42624eb8 1701:com.test.admob/u0a398} (pid=1701, uid=10398) requires com.google.android.providers.gsf.permission.READ_GSERVICES or com.google.android.providers.gsf.permission.WRITE_GSERVICES
W/ActivityManager( 2282): Permission Denial: opening provider com.google.android.gsf.gservices.GservicesProvider from ProcessRecord{42624eb8 1701:com.test.admob/u0a398} (pid=1701, uid=10398) requires com.google.android.providers.gsf.permission.READ_GSERVICES or com.google.android.providers.gsf.permission.WRITE_GSERVICES
W/ActivityManager( 2282): Permission Denial: opening provider com.google.android.gsf.gservices.GservicesProvider from ProcessRecord{42624eb8 1701:com.test.admob/u0a398} (pid=1701, uid=10398) requires com.google.android.providers.gsf.permission.READ_GSERVICES or com.google.android.providers.gsf.permission.WRITE_GSERVICES
W/ActivityManager( 2282): Permission Denial: opening provider com.google.android.gsf.gservices.GservicesProvider from ProcessRecord{42624eb8 1701:com.test.admob/u0a398} (pid=1701, uid=10398) requires com.google.android.providers.gsf.permission.READ_GSERVICES or com.google.android.providers.gsf.permission.WRITE_GSERVICES
V/WebViewChromiumFactoryProvider( 1701): Binding Chromium to main looper Looper (main, tid 1) {422237d8}
android 清单
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<activity android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version"/>
[编辑] 我忘了说我也试过添加但是也没用。
将以下权限添加到您的 menifest.xml
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
这似乎是 Google Play 服务 4.3 版中的错误。 参见 https://groups.google.com/forum/#!topic/google-admob-ads-sdk/sePctoDJbRg%5B1-25%5D