Uç
Bu repo, geçici olarak çağdaş yerel Android uygulamasına sahiptir. Beta. Eski .NET MAUI uygulamalarını satın almak mı istiyorsunuz? Şuraya gidin: bitwarden/mobil
- Minimum SDK: 29
- Hedef SDK: 34
- Desteklenen Arsa Formları: Telefon ve Tablet
- Desteklenen Yönler: Portre ve Manzara
Depoyu klonlayın:
$ git clone github.com/bitwarden/android
Bir oluştur
user.properties
dosyasını projenin kök dizinine yerleştirin ve sonraki özellikleri ekleyin:gitHubToken
: “klasik” bir Github Deepest Entry Token (PAT)read:packages
kapsam (ör.:gitHubToken=gph_xx...xx
). Bunlar şans eseri şuraya giderek de oluşturulabilir: Github belirteçleri sayfası. Takdirle karşılamak kimlik doğrulamaya değinen Github Programları kullanıcı belgeleri Ekstra ayrıntılar için.localSdk
: SDK'nın yerel maven yapıtından yüklenmesi gerekip gerekmediğini araştıran bir boole etkisi (ör.:localSdk=true
). Çağdaş SDK yeteneklerini arttırırken burası çoğunlukla paha biçilemez. Değerlendirme SDK'yı alıcılara bağlama Ekstra ayrıntılar için.
Kod moda biçimlendiricisini kurun:
Tüm kodlar, bu kılavuzda açıklanan sistemlere uymalıdır. Code Vogue Pointers'ın hikayesi. Bu ipuçlarına bağlı kalarak beklemek için tüm katkıda bulunanların şunu dikkate alması gerekir:
docs/bitwarden-style.xml
onların kod moda planı olarak. IntelliJ / Android Studio'da:- Şuraya git:
Preferences > Editor > Code Style
. - Vur
Manage
yanındaki düğmeScheme
. - Seç
Import
. - Şunu edinin:
bitwarden-style.xml
proje içindeki dosyadocs/
dizin. - “Kimden”i içe aktar
BitwardenStyle
“ile”BitwardenStyle
. - Vurmak
Apply
VeOK
Ayarlamaları atamak ve Tercihler'den çıkmak için.
Bazı durumlarda, devamsızlık sorununu çözecek ayarlamalar için Android Studio'yu yeniden başlatmanız gerektiğini gösterin.
Tüm kodlar, çekme sorgusu gönderilmeden önce biçimlendirilmelidir. Bu, şans eseri manuel olarak gerçekleştirilebilir, ancak kaydetme sırasında otomatik yapıya bağlanan özel yapım bir klavyeyle bir makroyu kurtarmak şüphesiz kullanışlı olabilir. OS X'teki Android Studio'da:
- Seç
Edit > Macros > Start Macro Recording
- Seç
Code > Optimize Imports
- Seç
Code > Reformat Code
- Seç
File > Save All
- Seç
Edit > Macros > Stop Macro Recording
Bu şans eseri daha sonra şu adrese giderek bir dizi anahtarla eşleştirilebilir:
Android Studio > Preferences
ve aşağıdaki makroyu düzenliyorumKeymap
(örnek: kaydırma + tekrarlama + s).Lütfen benzer bir işleme/PR içinde biçimlendirmeyi ve mantıksal ayarlamaları karıştırmamaya dikkat edin. Görünüşe göre muhtemelen inancınız olacak gibi görünüyorsa, benzer bir kodda mantıksal ayarlamalar oluşturmak için herhangi bir önemli biçimlendirme sorununu, ayrı bir PR'de açmaktan daha kısa sürede düzeltin. Bu, başkalarının kodu incelerken birçok kod ayarlaması konusunda merak uyandırmasına yardımcı olur.
- Şuraya git:
Aşağıda, köklü Android SDK'dan sonra yardımcı programın payı olarak entegre edilen tüm üçüncü taraf bağımlılıklarının bir listesi bulunmaktadır.
AndroidX Uygulama Uyumluluğu
- https://developer.android.com/jetpack/androidx/releases/appcompat
- Motif: Eski API sürümlerindeki çağdaş API'lere kurtarma girişine izin verir.
- Lisans: Apache 2.0
AndroidX Otomatik Doldurma
- https://developer.android.com/jetpack/androidx/releases/autofill
- Motif: Satır içi otomatik doldurma kullanıcı arayüzü oluşturmaya yönelik araçlara kurtarma girişine izin verir.
- Lisans: Apache 2.0
AndroidX Biyometri
- https://developer.android.com/jetpack/androidx/releases/biometric
- Gerekçe: Biyometri veya gadget kimlik bilgileriyle kimlik doğrulaması yapın.
- Lisans: Apache 2.0
AndroidX Tarayıcı
- https://developer.android.com/jetpack/androidx/releases/browser
- Motif: Web sayfalarını kullanıcının varsayılan tarayıcısıyla gösterir.
- Lisans: Apache 2.0
AndroidX KameraX Kamera2
- https://developer.android.com/jetpack/androidx/releases/digicam
- Gerekçe: Barkod taraması için fotoğrafları gösterin ve yakalayın.
- Lisans: Apache 2.0
AndroidX Ataması
- https://developer.android.com/jetpack/androidx/releases/fabricate
- Motif: Kotlin tabanlı, çoğunlukla tamamen 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
- Gerekçe: Geriye doğru SplashScreen API uygulaması.
- Lisans: Apache 2.0
AndroidX Kimlik Bilgileri
- https://developer.android.com/jetpack/androidx/releases/credentials
- Motif: Kullanıcının kimlik bilgilerine birleşik kurtarma girişi.
- Lisans: Apache 2.0
AndroidX Yaşam Döngüsü
- https://developer.android.com/jetpack/androidx/releases/lifecycle
- Motif: Yaşam döngüsüne duyarlı plan ve araçlar.
- Lisans: Apache 2.0
AndroidX Odası
- https://developer.android.com/jetpack/androidx/releases/room
- Motive: Android için uygun bir SQLite tabanlı, çoğunlukla tamamen kalıcılık katmanı.
- Lisans: Apache 2.0
AndroidX Güvenliği
- https://developer.android.com/jetpack/androidx/releases/security
- Gerekçe: Anahtarları güvenli bir şekilde düzenleyin ve gerçekleri ve paylaşılan tercihleri şifreleyin.
- Lisans: Apache 2.0
AndroidX Çalışma Yöneticisi
- https://developer.android.com/jetpack/androidx/releases/work
- Gerekçe: WorkManager, güvenilir bir şekilde yürütülmesi gereken ertelenebilir, eşzamansız görevleri planlama olanağına sahiptir.
- 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 izinleri alınır. (NOT: Bu bağımlılık artık F-Droid aracılığıyla dağıtılan yapılara entegre edilmiyor.)
- Lisans: Apache 2.0
Firebase Crashlytics
- https://github.com/firebase/firebase-android-sdk
- Sebep: Kilitlenme 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 entegre edilmiyor.)
- Lisans: Apache 2.0
Taşınma
- https://github.com/bumptech/waft
- Sebep: Görüntü yükleme ve önbelleğe alma.
- Lisans: BSD, MIT ve Apache 2.0 paylaşımı
kotlinx.collections.immutable
- https://github.com/Kotlin/kotlinx.collections.immutable
- Motif: Kotlin için değişmez seri arayüzler ve uygulama prototipleri.
- Lisans: Apache 2.0
kotlinx.coroutines
- https://github.com/Kotlin/kotlinx.coroutines
- Motif: Kotlin, asenkron ve reaktif kod için ortak rutin kütüphanesidir.
- Lisans: Apache 2.0
kotlinx.serileştirme
- https://github.com/Kotlin/kotlinx.serialization/
- Motif: 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
- Motif: Retrofit 2 ve kotlinx.serialization için dönüştürücü.
- Lisans: Apache 2.0
TamamHttp 3
- https://github.com/square/okhttp
- Motif: Kitaplık tarafından trafiği engellemeye ve günlüğe kaydetmeye duyarlı bir HTTP istemcisi.
- Lisans: Apache 2.0
Güçlendirme 2
- https://github.com/square/retrofit
- Motif: Bir ağ katmanı arayüzü.
- Lisans: Apache 2.0
zxcvbn4j
- https://github.com/nulab/zxcvbn4j
- Gerekçe: Şifre gücü tahmini.
- Lisans: MİT
ZXing
- https://github.com/zxing/zxing
- Sebep: Barkod tarama ve oluşturma.
- Lisans: Apache 2.0
Aşağıda, yerel inşaat atmosferinin payına duyarlı ekstra üçüncü taraf bağımlılıklarının bir listesi bulunmaktadır. Bu, kontrolle ilgili yapıtların yanı sıra kod kalitesi ve astarlamayla ilgili araçları da içerir. Bunların artık son paketlenmiş yardımcı programda en güncel durumda olmaması gerekir.
tespit
- https://github.com/detekt/detekt
- Motive: Kotlin programlama dili için statik bir kod değerlendirme aracı.
- Lisans: Apache 2.0
JÜnite 5
- https://github.com/junit-crew/junit5
- Sebep: Birim Yardımcı program kodunu test etmek için çerçeveyi kontrol ediyor.
- 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
- Motive: Android çerçevesinde arama yapılır yapılmaz kod için bir birim test çerçevesi.
- Lisans: MİT
Türbin
- https://github.com/cashapp/turbine
- Motif: Kotlinx.coroutine'in Gallop'u için cılız bir test kütüphanesi.
- Lisans: Apache 2.0
Aşağıda, CI/CD iş akışlarının payına duyarlı ekstra üçüncü taraf bağımlılıklarının bir listesi bulunmaktadır. Bunların artık son paketlenmiş yardımcı programda en güncel durumda olmaması gerekir.
Hızlı şerit
- https://fastlane.tools/
- Motive: Yetenekleri 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