Anda memiliki dua tiga opsi:
Pisahkan jawaban dari kode sumber lainnya
Jika Anda ingin kode Anda menjadi open source, namun tidak ingin jawaban menjadi open source, maka Anda open source kode untuk aplikasi tanpa pertanyaan & jawaban, dengan pertanyaan & jawaban menjadi "plugin" sumber tertutup yang terpisah. atau file data. Aplikasi Android Anda akan menggabungkan keduanya menjadi satu aplikasi.
Masukkan jawaban dalam kode sumber Anda
Atau, jika Anda menganggap pertanyaan dan jawaban sebagai bagian inti dari apa yang Anda inginkan bersumber terbuka maka Anda harus memasukkan jawaban ke dalam kode sumber, lebih disukai tidak dikaburkan sehingga orang lain dapat membaca dan memodifikasinya . Mengaburkan kode sumber sehingga tidak dapat dipahami dan dimodifikasi tidak benar-benar sesuai dengan prinsip-prinsip kode sumber terbuka.
Letakkan jawaban di server di internet
Dengan kedua solusi di atas, ada kemungkinan bagi seseorang yang telah mengunduh aplikasi Anda untuk menemukan jawabannya tanpa memainkan program Anda dalam kedua kasus - tidak peduli bagaimana Anda mengaburkan / mengenkripsi jawaban Anda, jika program Anda dapat mengidentifikasi jawaban tanpa informasi tambahan, maka dapat manusia memeriksa aplikasi yang dikompilasi.
Jika Anda benar - benar ingin memastikan bahwa tidak ada yang bisa mengetahui jawabannya maka satu-satunya pilihan nyata adalah tidak memberi mereka jawaban dan meminta aplikasi memanggil layanan web dll ... setiap kali mereka ingin tahu jawabannya. Aplikasi harus mengirim jawaban yang telah dimasukkan pengguna dan layanan web harus memberi tahu aplikasi apakah jawabannya benar atau tidak, sehingga pengguna tidak memiliki cara untuk mengatakan apa jawabannya sampai setelah mereka memiliki jawaban yang benar (singkat). dari memaksa layanan web, yang dapat Anda deteksi dan lindungi).
Jika Anda mencari cara untuk mengaburkan jawaban Anda, yang menunjukkan kepada saya bahwa Anda tidak benar-benar ingin membuka sumber jawaban Anda di tempat pertama, jadi Anda harus mempertimbangkan opsi pertama.
Jika sangat penting bahwa pengguna tidak dapat menemukan jawaban di muka maka opsi ketiga adalah satu-satunya pilihan Anda, namun saya berjuang untuk memikirkan skenario di mana ini sepadan dengan usaha, paling tidak karena itu mencegah pengguna Anda dari menggunakan aplikasi Anda tanpa koneksi internet.