رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

پست های پیشنهاد شده

با سلام من دارم روی گوگل مپ کار میکنم در حالت debug زمانی که در روی non هست همه چی درست کار میکنه  زمانی که روی android app قرار میدهم و کد sha1 میزنم مپ نشون میده ولی Directions از کار میوفته و در حالت release  نه Directions کار میکنه نه مپ نشون میده و یه صفحه سفید میاد و فقط لوگوی گوگل نشون میده بنظرتون مشکل از کجاست کد sha1 هم وارد کردم ممکنه مشکل از اکانت billing که گوگل جدیدن اضافه کرده باشه یا چیز دیگه هست 

ویرایش شده توسط saeed1366412
لینک ارسال
به اشتراک گذاری در سایت های دیگر
در ۱ ساعت قبل، saeed1366412 گفته است :

با سلام من دارم روی گوگل مپ کار میکنم در حالت debug زمانی که در روی non هست همه چی درست کار میکنه  زمانی که روی android app قرار میدهم و کد sha1 میزنم مپ نشون میده ولی Directions از کار میوفته و در حالت release  نه Directions کار میکنه نه مپ نشون میده و یه صفحه سفید میاد و فقط لوگوی گوگل نشون میده بنظرتون مشکل از کجاست کد sha1 هم وارد کردم ممکنه مشکل از اکانت billing که گوگل جدیدن اضافه کرده باشه یا چیز دیگه هست 

سلام...

زمانی که اپ رو برای نسخه release آماده میکنید مجددا باید کد sha1 که متناسب با keystore هست رو ثبت و کد API جدید رو وارد کنید...

برای این کار cmd رو اجرا کنید و کد زیر رو وارد کنید:

keytool -list -v -keystore {keystore_name} -alias {alias_name}

مثلا:

keytool -list -v -keystore C:\Users\MG\Desktop\test.jks -alias test

بعد باید پسوردی که برای keystore ذخیره کردید رو وارد کنید اگر همه چیز درست پیش بره، sha1 رو میگیرید و بعد به google برید اون رو ثبت و google maps api رو دریافت کنید...

برای وارد کردن api جدید باید به پوشه app و بعد src مربوط به اپلیکیشن برید اونجا باید دوتا پوشه باشه که اگر نبود میتونید بسازیدشون، پوشه های debug و release که داخل اونها هم یه پوشه هست به نام res و داخل اون هم مجددا یه پوشه هست به عنوان values که داخل اون فایل google_maps_api.xml موجود هست - اگر نبود همه رو بسازید -

حالا api مربوط به release رو در پوشه release قرار بدید...

<resources>
    <!--
    TODO: Before you release your application, you need a Google Maps API key.

    To do this, you can either add your release key credentials to your existing
    key, or create a new key.

    Note that this file specifies the API key for the release build target.
    If you have previously set up a key for the debug target with the debug signing certificate,
    you will also need to set up a key for your release certificate.

    Follow the directions here:

    https://developers.google.com/maps/documentation/android/signup

    Once you have your key (it starts with "AIza"), replace the "google_maps_key"
    string in this file.
    -->
    <string name="google_maps_key" templateMergeStrategy="preserve" translatable="false">
        YOUR_KEY_HERE
    </string>
</resources>

با این روش در نسخه release دیگه مشکلی ندارید...

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر
  • 8 ماه بعد...

خدا خیرت بده

دو هفته بود درگیر همین موضوع بودم

کلی تو سایتای خارجی گشتم این قسمت اخر که باید توی پوشه ی رلیز ای پی ای کی رو وارد کنی رو هیچجا نگفت بود 

نا امیدانه داشتم منابع فارسی رو سرچ میکردم

ایشالا همیشه موفق باشی

دمت گرمر

لینک ارسال
به اشتراک گذاری در سایت های دیگر
  • 1 سال بعد...

با سلام من هم همین مشکل رو دارم . قسمت cmd رو متوجه نشدم که اون فرمان رو باید چطور وارد کنم .ممنون میشم اگر راهنمایی کنید منو 

IMG_20201003_224605_384.jpg

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

  • مطالب مشابه

    • توسط Androidm
      سلام دوستان وقتتون بخیر 
      من apikey گوگل مپ رو گرفتم و نقشه اجرا میشه و موقعیت کاربر به درستی نمایش داده میشه. چطور باید نام شهر رو گرفت؟ تو کدوم تابع
    • توسط aliazmoodeh
      سلام من یه آپی دارم یه قسمت وجود داره که اطلاعات رو از سرور میگیره و تو ریسایکلرویو نمایش میده من میخوام این اطلاعات رو تو حالت افلاین هم داشته باشم یعنی چی یعنی بتونم اطلاعاتی که از سرور گرفتم قبلا رو وقتی کاربر اینترنت بهش نمایش بدم دقیقن مثله تلگرام میگم ولی نمیدونم باید چیکار کنم اگر اموزشی در این رابط دارید بهم بگید یا سورسی دارید بهم بگید پولی یا رایگان باشه برام فرقی نمیکنه فقط میخوام مشکلمو حل کنه
    • توسط Zeynab Tri
      سلام. دوستان بنده یک عدد تازه کار در برنامه نویسی اندروید هستم و نمیدونم این ارور رو چطور حل کنم. ممنون میشم اگر کسی میتونه من رو راهنمایی کنه.عکسش رو گذاشتم.

    • توسط moein123
      سلام دوستان خوبین؟
      من برای آپ خودم ثبتنام و لاگین دارم میسازم
      ثبتنام کاربر به خوبی کار میکنه و مشکلی نداره
      ولی برای لاگین کردن نمیدونم چرا کار نمیکنه
      پیغام خطا هم نمیده
      ببینین این کد سمت سروری که نوشتم
      <?php if($_SERVER['REQUEST_METHOD']=='POST'){ $mail2=$_POST['mail']; $password=$_POST['pass']; require_once 'connect.php'; $sql = "SELECT * FROM register WHERE mail='$mail2' "; $response=mysqli_query($conn,$sql); $result=array(); $result['login']=array(); if(mysqli_num_rows($response)===1){ $row=mysqli_fetch_assoc($response); if(password_verify($password,$row['pass'])){ $index['name']=$row['name']; $index['mail']=$row['mail']; array_push($result['login'],$index); $result['okk']='1'; $result['message']='okk'; echo json_encode($result); mysqli_close($conn); }else{ $result['okk']='0'; $result['message']='error'; echo json_encode($result); mysqli_close($conn); } } } ?> و اینم کد های جاوای اندروید که نوشتم
      package com.android.register1; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.print.PageRange; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.ProgressBar; import android.widget.Toast; import com.android.volley.AuthFailureError; import com.android.volley.Request; import com.android.volley.RequestQueue; import com.android.volley.Response; import com.android.volley.VolleyError; import com.android.volley.toolbox.StringRequest; import com.android.volley.toolbox.Volley; import com.google.android.material.snackbar.Snackbar; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.util.HashMap; import java.util.Map; public class loginn extends AppCompatActivity { EditText edt_username,edt_password_login; Button btn_login; ProgressBar my_progcess; static String url_login="http://192.168.1.103/register2/login.php"; LinearLayout my_manager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_loginn); find_all(); } private void find_all() { edt_username=findViewById(R.id.edt_username); edt_password_login=findViewById(R.id.edt_pass_login); my_progcess=findViewById(R.id.my_progcess_login); btn_login=findViewById(R.id.btn_login); my_manager=findViewById(R.id.my_manager); btn_login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String musername=edt_username.getText().toString().trim(); String mpassword=edt_password_login.getText().toString().trim(); if(!musername.isEmpty() || !mpassword.isEmpty()){ my_login(musername,mpassword); }else { edt_username.setError("username"); edt_password_login.setError("password"); } } }); } public void my_login(final String mail,final String pass){ my_progcess.setVisibility(View.VISIBLE); btn_login.setVisibility(View.GONE); StringRequest request=new StringRequest(Request.Method.POST, url_login, new Response.Listener<String>() { @Override public void onResponse(String response) { try { JSONObject jsonObject=new JSONObject(response); String message=jsonObject.getString("okk"); JSONArray jsonArray=jsonObject.getJSONArray("login"); if(message.equals("1")){ for (int i = 0; i <jsonArray.length() ; i++) { JSONObject jsonObject1=jsonArray.getJSONObject(i); String name=jsonObject1.getString("name").trim(); String mail=jsonObject1.getString("mail").trim(); Snackbar snackbar=Snackbar.make(my_manager, name+mail+"لاگین شدید",Snackbar.LENGTH_LONG); snackbar.getView().setTranslationY(-100); snackbar.show(); } } } catch (JSONException e) { e.printStackTrace(); Toast.makeText(loginn.this, "error1"+e.toString(), Toast.LENGTH_SHORT).show(); my_progcess.setVisibility(View.GONE); btn_login.setVisibility(View.VISIBLE); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Toast.makeText(loginn.this, "error2"+error.toString(), Toast.LENGTH_SHORT).show(); my_progcess.setVisibility(View.GONE); btn_login.setVisibility(View.VISIBLE); } }){ @Override protected Map<String, String> getParams() throws AuthFailureError { Map<String,String>params=new HashMap<>(); params.put("mail",mail); params.put("pass",pass); return params; } }; RequestQueue requestQueue= Volley.newRequestQueue(this); requestQueue.add(request); } } ممنون میشم کمکم کنید 
    • توسط hossein1212
      سلام 
      من در اجرا شبیه ساز به مشکل زیر خورده ام راه حلی داره
      اینترنتم اوکیه ولی دانلود نمیکنه


  • فایل

×
×
  • اضافه کردن...