मैं अपने आवेदन का परीक्षण कर रहा हूं और अल्फा मोड में हूं। मेरा ऐप स्वीकृत है और मैं इसे Play Store में अल्फा मोड में पा सकता हूं। हालांकि, मेरे ऐप के 'पहनने' हिस्से को पहनने के लिए स्वचालित रूप से इंस्टॉल नहीं किया जा रहा है।मैं Google Play Store पर अल्फा/बीटा उपयोगकर्ताओं को अपने एंड्रॉइड वेयर को कैसे वितरित करूं?
मेरे पहनने वाले ऐप में वर्तमान में न्यूनतम कार्यक्षमता है, इसलिए पहनने के लिए "ऑप्ट-इन" अस्वीकार कर रहा है। मैं अभी भी अपने अल्फा उपयोगकर्ताओं के लिए अपने न्यूनतम पहनने वाले ऐप को पैकेज करने में सक्षम होना चाहता हूं, लेकिन ऐसा लगता है कि यह काम नहीं कर रहा है। कोई विचार है कि मैं ऐप के पहनने वाले हिस्से को ऑटो-इंस्टॉल कैसे प्राप्त कर सकता हूं?
यहाँ मेरी फ़ाइलें इस समय कर रहे हैं:
/build.gradle
// Used in 'mobile' and 'wear' submodules
def versionMajor() { 0 }
def versionMinor() { 0 }
def versionPatch() { 8 }
def gitVersion() {
def process = "git rev-list master --first-parent --count".execute()
return process.text.toInteger()
}
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
/mobile/build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.kamil.coach"
minSdkVersion 19
targetSdkVersion 22
versionCode gitVersion()
versionName "${versionMajor()}.${versionMinor()}.${versionPatch()}"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/notice.txt'
exclude 'META-INF/ASL2.0'
exclude 'APK META-INF/NOTICE.txt'
exclude 'APK META-INF/notice.txt'
}
}
if(project.hasProperty("MyProject.signing") && new File(project.property("MyProject.signing") + ".gradle").exists()) {
println "mobile applying gradle file"
apply from: project.property("MyProject.signing") + ".gradle";
} else {
println "mobile not applying gradle file"
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile project(':core')
wearApp project(':wear')
compile "com.android.support:appcompat-v7:22.1.0"
compile 'com.google.android.gms:play-services:7.3.0'
compile 'com.google.android.support:wearable:1.1.0'
compile 'com.google.android.gms:play-services-wearable:7.3.0'
compile 'org.apache.commons:commons-lang3:3.0'
compile 'joda-time:joda-time:2.7'
compile 'org.ocpsoft.prettytime:prettytime:4.0.0.Final'
compile 'com.uservoice:uservoice-android-sdk:+'
compile(name:'cloud-release', ext:'aar')
compile(name:'auth-release', ext:'aar')
compile(name:'core-release', ext:'aar')
}
repositories {
flatDir {
dirs 'libs'
}
}
/wear/build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.kamil.coach"
minSdkVersion 20
targetSdkVersion 22
versionCode gitVersion()
versionName "${versionMajor()}.${versionMinor()}.${versionPatch()}"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/notice.txt'
exclude 'META-INF/ASL2.0'
exclude 'APK META-INF/NOTICE.txt'
exclude 'APK META-INF/notice.txt'
}
}
if(project.hasProperty("MyProject.signing") && new File(project.property("MyProject.signing") + ".gradle").exists()) {
println "wear applying gradle file"
apply from: project.property("MyProject.signing") + ".gradle";
} else {
println "wear not applying gradle file"
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile project(':core')
compile 'com.google.android.support:wearable:1.1.0'
compile 'com.google.android.gms:play-services-wearable:7.3.0'
compile 'org.apache.commons:commons-lang3:3.0'
compile(name:'cloud-release', ext:'aar')
compile(name:'auth-release', ext:'aar')
compile(name:'core-release', ext:'aar')
}
repositories {
flatDir {
dirs 'libs'
}
}
/core/build.gradle
apply plugin: 'com.android.library'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
minSdkVersion 17
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.0.0'
compile 'com.squareup.retrofit:retrofit:1.9.+'
}
/mobile/AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.kamil.coach"
xmlns:android="http://schemas.android.com/apk/res/android">
<uses-feature android:name="android.hardware.sensor.accelerometer"/>
<uses-feature android:name="android.hardware.sensor.gyroscope"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application
android:name=".mobile.MobileKamilApplication"
android:allowBackup="true"
android:icon="@drawable/launcher_icon"
android:label="@string/app_name"
android:theme="@style/CoachTheme"
>
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version"/>
.
.
.
</application>
</manifest>
/wear/AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.kamil.coach"
xmlns:android="http://schemas.android.com/apk/res/android">
<uses-feature android:name="android.hardware.type.watch"/>
<uses-feature android:name="android.hardware.sensor.accelerometer"/>
<uses-feature android:name="android.hardware.sensor.gyroscope"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<application
android:name="com.core.KamilApplication"
android:allowBackup="true"
android:icon="@drawable/launcher_icon"
android:label="@string/app_name"
android:theme="@android:style/Theme.DeviceDefault"
>
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version"/>
.
.
.
.
</application>
</manifest>
मैं इन सभी चीजों को कर रहा हूं। "दोनों ऐप्स को एक ही कुंजी के साथ हस्ताक्षरित होना चाहिए" के संबंध में ... क्या मैं पहले से ही अपने पहनने वाले ऐप पर हस्ताक्षर नहीं करता हूं जब मैं: "बिल्ड -> साइन किए गए एपीके जेनरेट करें" मोबाइल-रिलेज़.एपीके। ? – Kamilski81
नहीं, यह इसके पहनने वाले हिस्से पर हस्ताक्षर नहीं करेगा। आप एंड्रॉइड स्टूडियो के भीतर यूआई आधारित हस्ताक्षर का उपयोग नहीं करना चाहते हैं, लेकिन अपनी दोनों build.gradle फ़ाइलों के भीतर साइन इन करने के लिए हर बार जब आप रिलीज करते हैं तो वे दोनों हस्ताक्षरित होते हैं, फिर मोबाइल एपीके में विलय हो जाते हैं। यहां एक अच्छी मार्गदर्शिका है जिसका उपयोग मैंने अपने ऐप्स पर हस्ताक्षर करने के लिए हर बार किया था। https://www.timroes.de/2013/09/22/handling-signing-configs-with-gradle/ – CodeChimp
धन्यवाद। मैंने इन बिल्ड फ़ाइलों को सफलतापूर्वक बनाया और मोबाइल में साइन इन किया और पहनना ... लेकिन यह अभी भी काम नहीं कर रहा है। – Kamilski81