سؤال

لقد قمت بإنشاء مفتاح إصدار باستخدام Eclipse IDE. لقد وقعت عليه باستخدام KeyTool ومسجل على خرائط Google. لقد قمت بتوصيل المفتاح ولكن خريطتي لا تظهر.

Maps show up properly when I use the key associated with my debug keystore.

كيف يمكنني تشخيص هذا؟ لقد اتبعت نفس الخطوات كما فعلت مع Debug ، للإصدار.

تحديث:

هذا هو ملف بلدي البيان:

      <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.android.cancertrials" android:versionCode="1"
    android:versionName="1.0">
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.CALL_PHONE"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true">
        <activity android:label="@string/app_name" android:name="splash">

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".HomeActivity" android:label="@string/app_name" android:windowSoftInputMode="stateHidden">
        </activity>
        <activity android:name=".moreactivity" android:label="@string/app_name">
        </activity>
        <activity android:name=".aboutmedtrust" android:label="@string/app_name">
        </activity>
        <activity android:name=".aboutclinical" android:label="@string/app_name">
        </activity>
        <activity android:name=".aboutglaxosmith" android:label="@string/app_name">
        </activity>
        <activity android:name=".termsofuse" android:label="@string/app_name">
        </activity>
        <activity android:name=".privacy" android:label="@string/app_name">
        </activity>
        <activity android:name=".feedback" android:label="@string/app_name">
        </activity>
        <activity android:name=".informationcancer" android:label="@string/app_name">
        </activity>
        <activity android:name="AdvanceSearchActivity" android:label="@string/app_name">
        </activity>
        <activity android:name="SearchingActivity"></activity>
        <activity android:name="AdvanceSearchTab1"></activity>
        <activity android:name="AdvanceSearchTab2"></activity>
        <activity android:name="DetailedActivity"></activity>
        <activity android:name="summary"></activity>
        <activity android:name="conditions"></activity>
        <activity android:name="description"></activity>
        <activity android:name="inclusion"></activity>
        <activity android:name="exclusion"></activity>
        <activity android:name="BookmarkActivity"></activity>
        <activity android:name="RecentActivity"></activity>
        <activity android:name="information"></activity>
    <uses-library android:name="com.google.android.maps"></uses-library>
    <activity android:name="Mapsactivity">
    </activity>
    <activity android:name="mapView"></activity>

</application>
    <uses-sdk android:minSdkVersion="3" />

</manifest> 
هل كانت مفيدة؟

المحلول

يجب عليك الحصول على مفتاح API منفصل عند التوقيع مع متجر مفتاح الإصدار مع تغير بصمة بصمة.

تأكد أيضًا من تثبيت .APK الموقّع بالمفتاح الصحيح.

تحديث: ما قصدته هل أنت متأكد من أنك وقعت APK مع المفتاح الصحيح؟ هذا يعني هل أنت متأكد من أنك وقعت مع keystore release عند إنشاء APK؟

عندما تقوم بتصديرها ، هل تقوم بالفعل باختيار keystore الذي يجب التوقيع عليه؟

نصائح أخرى

هل أضفت إذن الإنترنت؟ يتم طرح هذا السؤال حرفيًا كل يوم.

لذلك واجهت هذه المشكلة بنفسي بالأمس وحلت عن طريق التوقيع يدويًا على.

أفترض أنك تستخدم keystore الخاص الخاص بك وقد أدخلت مفتاح خريطة الإصدار في MapView الخاص بك (والموارد الأخرى ، حسب الحاجة).

من أجل القيام بذلك ، يمكنك اختيار projekt الخاص بك من Eclipse's Project Explorer (انقر بزر الماوس الأيمن) -> أدوات Android -> تصدير الحزمة غير الموقعة. احفظه أينما تريد.

افتح المحطة الخاصة بك (أنا على جهاز Windows 7) ، قرص مضغوط في مجلد JDK الخاص بك (وليس JRE) ، قرص مضغوط في Bin .

استخدم الأمر التالي: (لاحظ أن "مطلوب إذا قمت بكتابة مسار)

        jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore "path-to-your-keystore" "path-to-your-apk" <apk alias> -certs 

للتحقق من عملية التوقيع

jarsigner -verify "path-to-recently-signed-apk" -verbose 

(يمكنك ترك خيار المطوّل إذا أردت). سيظهر (نأمل) أن يظهر جرة (في النهاية سوف يحذرك من الإدخالات دون سلسلة شهادة تم التحقق منها ، لم يكن الأمر مهمًا في حالتي)

ثم قم بتشغيل Zipalign:

zipalign -v 4 "path-to-signed-apk" "path-to-signed-and-aligned.apk"

لاحظ أنه سيقوم بإنشاء APK جديد ، والذي يتماشى مع معايير Googles.

قم بتثبيت APK ويجب أن تظهر الخرائط الخاصة بك بشكل جيد!

من:http://developer.android.com/tools/publishing/app-signing.html#exportwizard

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top