গৃহীত উত্তরে প্রকল্পের একই মূল ফোল্ডারে থাকা এপিকে স্বাক্ষর করতে কোন কীস্টোরটি ব্যবহার করতে হবে তা নিয়ন্ত্রণ করতে একটি ফাইল ব্যবহার করুন। যখন আমরা ব্যবহার VCS মত গীত , একটি খারাপ জিনিস যখন আমরা বৈশিষ্ট্য তালিকা উপেক্ষা করার ফাইল যোগ করতে ভুলবেন হতে পারে। কারণ আমরা আমাদের পাসওয়ার্ডটি বিশ্বের কাছে প্রকাশ করব। সমস্যাগুলি এখনও অব্যাহত রয়েছে।
আমাদের প্রকল্পের মধ্যে একই ডিরেক্টরিতে সম্পত্তি ফাইল তৈরি করার পরিবর্তে আমাদের এটি বাইরে করা উচিত। গ্রেড.প্রোপার্টি ফাইল ব্যবহার করে আমরা এটির বাইরে করি।
পদক্ষেপ এখানে:
1. আপনার মূল প্রকল্পে গ্রেডেল.প্রপ্রেটিগুলি সম্পাদনা করুন বা তৈরি করুন এবং নীচের কোডটি যুক্ত করুন, আপনার নিজের সাথে পাথ সম্পাদনা করতে ভুলবেন না:
AndroidProject.signing=/your/path/androidproject.properties
2. / আপনার / পথে / এ androidproject.properties তৈরি করুন এবং এতে নিম্নলিখিত কোড যুক্ত করুন, আপনার কীস্টোরের পথে /your/path/to/android.keystore পরিবর্তন করতে ভুলবেন না:
STORE_FILE=/your/path/to/android.keystore
STORE_PASSWORD=yourstorepassword
KEY_ALIAS=yourkeyalias
KEY_PASSWORD=yourkeypassword
৩. আপনার অ্যাপ্লিকেশন মডিউলে build.gradle (আপনার প্রকল্পের মূল বিল্ড.gradle নয়) নীচের কোডটি উপস্থিত না থাকলে বা এতে সামঞ্জস্য করুন:
signingConfigs {
release
}
buildTypes {
debug {
debuggable true
}
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
}
4. পদক্ষেপ 3 এ কোডের নীচে নিম্নলিখিত কোডটি যুক্ত করুন:
if (project.hasProperty("AndroidProject.signing")
&& new File(project.property("AndroidProject.signing").toString()).exists()) {
def Properties props = new Properties()
def propFile = new File(project.property("AndroidProject.signing").toString())
if(propFile.canRead()) {
props.load(new FileInputStream(propFile))
if (props!=null && props.containsKey('STORE_FILE') && props.containsKey('STORE_PASSWORD') &&
props.containsKey('KEY_ALIAS') && props.containsKey('KEY_PASSWORD')) {
android.signingConfigs.release.storeFile = file(props['STORE_FILE'])
android.signingConfigs.release.storePassword = props['STORE_PASSWORD']
android.signingConfigs.release.keyAlias = props['KEY_ALIAS']
android.signingConfigs.release.keyPassword = props['KEY_PASSWORD']
} else {
println 'androidproject.properties found but some entries are missing'
android.buildTypes.release.signingConfig = null
}
} else {
println 'androidproject.properties file not found'
android.buildTypes.release.signingConfig = null
}
}
এই কোডটি পদক্ষেপ 1 থেকে গ্রেডল.প্রপ্রেটিসে অ্যান্ড্রয়েডপ্রজেক্ট.সাইনগিং প্রপার্টি অনুসন্ধান করবে । যদি সম্পত্তিটি পাওয়া যায় তবে এটি সম্পত্তি মানটিকে ফাইলের পাথ হিসাবে অনুবাদ করবে যা অ্যান্ড্রয়েডপ্রজেক্ট.প্রপ্রেটিগুলিকে নির্দেশ করে যা আমরা দ্বিতীয় ধাপে তৈরি করি । তারপরে এ থেকে সমস্ত সম্পত্তি মান আমাদের বিল্ডড্র্যাডলের জন্য স্বাক্ষরকরণ কনফিগারেশন হিসাবে ব্যবহৃত হবে।
এখন আমাদের কীস্টোর পাসওয়ার্ড প্রকাশের ঝুঁকি নিয়ে আবার চিন্তা করার দরকার নেই।
বিল্ডড্র্যাডলে কীস্টোরের তথ্য না রেখে অ্যান্ড্রয়েড অ্যাপকে স্বাক্ষর করতে আরও পড়ুন
build.gradle
আপনার কাছে অন্য কিছু থাকতে হবেbuild.gradle
, কিনা এটি পরিবেশের ভেরিয়েবলগুলির প্রতি সমন্বয় (প্রতিটি উত্তর প্রতি), একটি সম্পত্তি ফাইল (অন্য উত্তরে প্রতি) বা অন্য কোনও উপায়ে। যদি আপনি বাইরে জিনিস রাখতে ইচ্ছুক না হনbuild.gradle
তবে সংজ্ঞা অনুসারে সমস্ত স্বাক্ষরকারী তথ্য ভিতরে থাকা উচিতbuid.gradle
।