Uç
Bu repo, gösteride en son yerel Android uygulamasına sahiptir. Beta. Eski .NET MAUI uygulamalarına mı göz atıyorsunuz? Şuraya gidin: bitwarden/mobil
- Minimum SDK: 29
- Hedef SDK: 34
- Desteklenen Enstrüman Formları: Telefon ve Hap
- Desteklenen Yönler: Portre ve Manzara
Depoyu klonlayın:
$ git clone github.com/bitwarden/android
Bir icat et
user.properties
Dosyayı meydan okumanın kök dizinine yerleştirin ve sonraki özellikleri ekleyin:gitHubToken
: “klasik” bir Github Kişisel Giriş Simgesi (PAT)read:packages
kapsam (ör.:gitHubToken=gph_xx...xx
). Bunlar ayrıca şuraya giderek de oluşturulabilir: Github belirteçleri web fırtınası. Düşünce kimlik doğrulamaya değinen Github Paketleri istemci belgeleri Eklenen özel baskı için.localSdk
: SDK'nın yerel maven yapıtından yüklenmesi isteniyorsa çözülecek boole fiyatı (ör.:localSdk=true
). Bu, güncel SDK yeteneklerini oluştururken sürekli olarak amaca yöneliktir. Değerlendirme SDK'yı müşterilere bağlama Eklenen özel baskı için.
Kod stili biçimlendiriciyi kurun:
Tüm kodlar, bu kılavuzda açıklanan yönergeleri yönlendirmelidir. Kod Vogue İşaretçileri belgesi. Bu ipuçlarına bağlı kalmayı teşvik etmek için, katkıda bulunanların tümü muhtemelen uzak bir şekilde başvurabilir.
docs/bitwarden-style.xml
kod stili planları olarak. IntelliJ / Android Studio'da:- Şuraya git:
Preferences > Editor > Code Style
. - Vur
Manage
yanındaki düğmeScheme
. - Karar vermek
Import
. - Getir
bitwarden-style.xml
meydan okumanın içindeki dosyadocs/
dizin. - “Kimden”i içe aktar
BitwardenStyle
“ile”BitwardenStyle
. - Vurmak
Apply
VeOK
Değişiklikleri eklemek ve Tercihler'den çıkmak için.
Bazı durumlarda, şans eseri değişikliklerin gerçekleştirilmesi için Android Studio'yu yeniden başlatmak isteyebileceğinizi belirtin.
Bir çekme seti sorusu göndermeden önce tüm kodun biçimlendirilmesi gerekiyor. Bu muhtemelen manuel olarak gerçekleştirilebilir, ancak kaydetme sırasında otomatik formata bağlanan özelleştirilmiş bir klavyeye sahip bir makro oluşturmak da hiç şüphesiz anlamlı olabilir. OS X'teki Android Studio'da:
- Karar vermek
Edit > Macros > Start Macro Recording
- Karar vermek
Code > Optimize Imports
- Karar vermek
Code > Reformat Code
- Karar vermek
File > Save All
- Karar vermek
Edit > Macros > Stop Macro Recording
Bu, daha sonra şuraya giderek bir anahtar şemasıyla eşleştirilebilir:
Android Studio > Preferences
ve alttaki makroyu iyileştirmekKeymap
(örnek: üst karakter + mevcut + s).Lütfen aynı taahhüt/PR içerisinde formatlama ve mantıksal değişiklikleri karıştırmaktan uzakta yaşayın. Şüpheniz varsa, aynı kodda mantıksal değişiklikler yapmak için, büyük biçimlendirme bozukluklarını ayrı bir PR'de açmadan önce düzeltin. Bu, başkalarının kodu incelerken çok sayıda kod değişikliği hakkında merak uyandırmasına yardımcı olur.
- Şuraya git:
Bir sonraki, sık kullanılan Android SDK'nın ötesinde başvurunun yarısı olarak dahil edilen tüm üçüncü kutlama bağımlılıklarının bir kaydıdır.
AndroidX Uygulama Uyumluluğu
- https://developer.android.com/jetpack/androidx/releases/appcompat
- Sebep: Eski API sürümlerindeki en yeni API'lere giriş kazanmayı etkinleştirir.
- Lisans: Apache 2.0
AndroidX Otomatik Doldurma
- https://developer.android.com/jetpack/androidx/releases/autofill
- Sebep: Satır içi otomatik doldurma kullanıcı arayüzü oluşturmaya yönelik araçlara giriş kazanmayı etkinleştirir.
- Lisans: Apache 2.0
AndroidX Biyometri
- https://developer.android.com/jetpack/androidx/releases/biometric
- Sebep: Biyometri veya makine kimlik bilgileriyle kimlik doğrulaması yapın.
- Lisans: Apache 2.0
AndroidX Tarayıcı
- https://developer.android.com/jetpack/androidx/releases/browser
- Sebep: Web sayfalarını kullanıcının varsayılan tarayıcısıyla görüntüler.
- Lisans: Apache 2.0
AndroidX KameraX Kamera2
- https://developer.android.com/jetpack/androidx/releases/digital kamera
- Sebep: Barkod taraması için fotoğrafları gösterin ve çekin.
- Lisans: Apache 2.0
AndroidX Kaynak
- https://developer.android.com/jetpack/androidx/releases/earn
- Sebep: Kotlin tabanlı, tamamen çoğunlukla bildirimsel bir kullanıcı arayüzü çerçevesi.
- Lisans: Apache 2.0
AndroidX Core Açılış Ekranı
- https://developer.android.com/jetpack/androidx/releases/core
- Sebep: Geriye doğru uyumlu SplashScreen API uygulaması.
- Lisans: Apache 2.0
AndroidX Kimlik Bilgileri
- https://developer.android.com/jetpack/androidx/releases/credentials
- Sebep: Müşterinin kimlik bilgilerine birleşik kazanç girişi.
- Lisans: Apache 2.0
AndroidX Yaşam Döngüsü
- https://developer.android.com/jetpack/androidx/releases/lifecycle
- Sebep: Yaşam döngüsüne duyarlı parçalar ve takımlar.
- Lisans: Apache 2.0
AndroidX Odası
- https://developer.android.com/jetpack/androidx/releases/room
- Sebep: Android için kullanışlı bir SQLite tabanlı, tamamen çoğunlukla kalıcılık katmanı.
- Lisans: Apache 2.0
AndroidX Güvenliği
- https://developer.android.com/jetpack/androidx/releases/safety
- Sebep: Anahtarları güvenli bir şekilde hazırlayın ve kayıt verilerini ve paylaşılan tercihleri şifreleyin.
- Lisans: Apache 2.0
AndroidX Çalışma Yöneticisi
- https://developer.android.com/jetpack/androidx/releases/work
- Sebep: WorkManager, güvenilir bir şekilde çalıştırılmak isteyen ertelenebilir, asenkron yükümlülüklerin zaman çizelgesini oluşturmak için kullanılır.
- Lisans: Apache 2.0
Hançer Kabzası
- https://github.com/google/dagger
- Sebep: Bağımlılık enjeksiyon çerçevesi.
- Lisans: Apache 2.0
Firebase Bulut Mesajlaşma
- https://github.com/firebase/firebase-android-sdk
- Sebep: Anında bildirim geliştirmeyi etkinleştirir. (NOT: Bu bağımlılık artık F-Droid aracılığıyla dağıtılan yapılara dahil edilmemektedir.)
- Lisans: Apache 2.0
Firebase Crashlytics
- https://github.com/firebase/firebase-android-sdk
- Sebep: Kırık ve ölümcül olmayan hata raporlaması için SDK. (NOT: Bu bağımlılık artık F-Droid aracılığıyla dağıtılan yapılara dahil edilmemektedir.)
- Lisans: Apache 2.0
Gözden geçirme
- https://github.com/bumptech/cruise
- Sebep: Görüntü yükleme ve önbelleğe alma.
- Lisans: BSD, yarı MIT ve Apache 2.0
kotlinx.collections.immutable
- https://github.com/Kotlin/kotlinx.collections.immutable
- Sebep: Kotlin için değişmez seri arayüzler ve uygulama prototipleri.
- Lisans: Apache 2.0
kotlinx.coroutines
- https://github.com/Kotlin/kotlinx.coroutines
- Sebep: Kotlin, asenkron ve reaktif kod için kütüphaneyi ortakyordamlıyor.
- Lisans: Apache 2.0
kotlinx.serileştirme
- https://github.com/Kotlin/kotlinx.serialization/
- Sebep: Kotlin için JSON serileştirme kütüphanesi.
- Lisans: Apache 2.0
kotlinx.serileştirme dönüştürücüsü
- https://github.com/square/retrofit/tree/trunk/retrofit-converters/kotlinx-serialization
- Sebep: Retrofit 2 ve kotlinx.serialization için dönüştürücü.
- Lisans: Apache 2.0
TamamHttp 3
- https://github.com/square/okhttp
- Sebep: Trafiği kesmek ve günlüğe kaydetmek için kütüphane tarafından kullanılan bir HTTP istemcisi.
- Lisans: Apache 2.0
Güçlendirme 2
- https://github.com/square/retrofit
- Sebep: Bir ağ katmanı arayüzü.
- Lisans: Apache 2.0
zxcvbn4j
- https://github.com/nulab/zxcvbn4j
- Sebep: Şifre gücü tahmini.
- Lisans: MİT
ZXing
- https://github.com/zxing/zxing
- Sebep: Barkod tarama ve oluşturma.
- Lisans: Apache 2.0
Bir sonraki, yerel inşaat atmosferinin yarısı olarak kullanılan ek üçüncü kutlama bağımlılıklarının bir kaydıdır. Bu, ilişkili yapılara, kod kalitesi ve astarlamayla ilişkili araçlar kadar düzgün bir şekilde bakmayı gerektirir. Bunlar artık kapanış paketi uygulamasında benzersiz değildir.
tespit
- https://github.com/detekt/detekt
- Sebep: Kotlin programlama dili için statik kod analiz makinesi.
- Lisans: Apache 2.0
JÜnite 5
- https://github.com/junit-crew/junit5
- Sebep: Uygulama kodunu test etmek için Birim Testi çerçevesi.
- Lisans: Eclipse Kamu Lisansı 2.0
SahteK
- https://github.com/mockk/mockk
- Sebep: Kotlin dostu alaycı kütüphane.
- Lisans: Apache 2.0
Roboelektrik
- https://github.com/robolectric/robolectric
- Sebep: Android çerçevesinde doğrudan kod sayımı için bir birim test çerçevesi.
- Lisans: MİT
Türbin
- https://github.com/cashapp/turbine
- Sebep: Kotlinx.coroutine'in Waft'ı için mükemmel bir test kütüphanesi.
- Lisans: Apache 2.0
Sonraki, CI/CD iş akışlarının yarısı olarak kullanılan ek üçüncü kutlama bağımlılıklarının kaydıdır. Bunlar artık kapanış paketi uygulamasında benzersiz değildir.
Hızlı şerit
- https://fastlane.tools/
- Sebep: Uygulama oluşturmayı, imzalamayı ve dağıtmayı otomatikleştirir.
- Lisans: MİT
Kover
- https://github.com/Kotlin/kotlinx-kover
- Sebep: Kotlin kod koruma araç seti.
- Lisans: Apache 2.0