implementieren Ich entdecken YouTube Direct Lite (Android/Java) auf GitHub (https://github.com/youtube/yt-direct-lite-android) als ein gutes Beispiel dafür, wie Benutzer zu ermöglichen, ein Video auf Ihre YouTube-Playlist zu laden. Ich habe es erfolgreich in Debug-und Release-APK-Modus auf Android 5.1.1 auf Nexus 4 und Android 4.2.2 arbeiten. auf Galaxy Tab 7. Ich bekomme jedoch eine Nachricht "Verbindung zu Play Services fehlgeschlagen" bei der Installation auf Android 7.0 auf LG4. "Leider hat I-Witness (umbenannt App) Uploader gestoppt" ist die Nachricht, bevor die App abstürzt, wenn ich mein Login-Konto auswähle.Wie YouTube Direct Lite in Android 7
Beim ersten Import des Codes von Git, Android Studio 3.01 zeigte einige veraltete Bibliotheken, die ich aktualisiert, und fand eine Heilung für einen httprequest/httpclient Fehler durch eine der genannten veralteten Bibliotheken verursacht. Die größten Probleme drehten sich um "com.google.android.gms: play-services-auth" und "com.google.android.gms: play-services-plus", die im ursprünglichen Beispiel 7,8 waren.
Android Studio empfohlen Update auf die aktuelle 11.8, aber wenn ich tat viele "rote Unterstreichungen des Todes" zeigte sich im Code und so war ich erfolgreich mit "com.google.android.gms: play-services-plus: 9.0 .0 'und com.google.android.gms: play-services-auth: 9.0.0.
Insbesondere bewirkt 11.8 einen Konflikt mit dem folgenden externen Bibliotheken zu Feuerbasis bezogen, die ich nicht verstehe, da Feuerbasis im Projekt nicht umgesetzt wird:
google.firebase:firebase-analytics-9.00
google.firebase:firebase-analytics-impl-9.00
google.firebase:firebase-common-9.00
google.firebase:firebase-core-9.00
google.firebase:firebase-iid-9.00
Das Problem um die Authentifizierung zu drehen scheint, aber wo Debuggen für die spezifische Android-Version?
Hier ist meine App-Ebene build.gradle, wenn jemand mit YouTube direkt Lite vertraut sein könnte und eine Anregung, die Installation zu lösen auf Android machen 7:
apply plugin: 'com.android.application'
android {
compileSdkVersion 27
defaultConfig {
applicationId "com.abengnews.iwitness"
minSdkVersion 16
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
lintOptions {
abortOnError false
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
//compile fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.google.android.gms:play-services-plus:9.0.0'
implementation 'com.google.android.gms:play-services-auth:9.0.0'
//implementation 'com.google.android.gms:play-services-identity:9.0.0'
implementation 'com.android.support:appcompat-v7:27.0.2'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
implementation 'com.android.support:support-v13:27.0.2'
implementation 'com.google.apis:google-api-services-youtube:v3-rev120-1.19.0'
implementation 'com.google.http-client:google-http-client-android:+'
implementation 'com.google.api-client:google-api-client:1.23.0'
implementation 'com.google.api-client:google-api-client-android:1.23.0'
implementation 'com.google.api-client:google-api-client-gson:+'
implementation 'com.google.code.gson:gson:2.2.4'
implementation 'com.mcxiaoke.volley:library:1.0.18'
implementation files('libs/YouTubeAndroidPlayerApi.jar')
}
configurations {
all {
exclude module: 'httpclient'
resolutionStrategy.force 'com.google.code.findbugs:jsr305:1.3.9'
}
}
apply plugin: 'com.google.gms.google-services'
Vielen Dank für jede Hilfe.
P.S. Es stellt sich heraus, dass das Problem mit <uses-permission android:name="android.permission.GET_ACCOUNTS" />
in der AndroidManifest.xml, die in Android 6.1> geändert wurde, verwandt ist. Ich stolperte darüber, während ich mit den Einstellungen der App am Telefon herumhantierte. "Kontakte" war die einzige unter "Berechtigungen" aufgelistete Option, und als ich den Zugriff auf Kontakte aktivierte, funktionierte die App wie erwartet.
Jetzt muss ich herausfinden, wie die Erlaubnis zu bewirken programmatisch
Aktualisiert ‚com.google.android.gms: Play-Dienste-Auth: 11.8.0 'und Gradle Sync hat die Firebase-Bibliotheken entsprechend aktualisiert, aber das Problem des Absturzes bleibt bestehen. (Ich weiß nicht, warum Gradle die Firebase-Bibliotheken zuvor nicht aktualisiert hat.) –