Uç
Bu repo, şimdilik benzersiz yerel Android uygulamasına sahiptir. Beta. Eski .NET MAUI uygulamalarını satın almak mı istiyorsunuz? Şuraya gidin: bitwarden/hücresel
- Minimum SDK: 29
- SDK'yı çiz: 34
- Desteklenen Araç Formları: Cep telefonu ve Hap
- Desteklenen Yönler: Portre ve Manzara
Depoyu klonlayın:
$ git clone github.com/bitwarden/android
Bir fabrikasyon
user.properties
Dosyayı görevin ilham perisi dizinine ekleyin ve aşağıdaki özellikleri ekleyin:gitHubToken
: Token'a (PAT) “temel” bir Github Özel Kurtarma girişiread:packages
kapsam (ör.:gitHubToken=gph_xx...xx
). Bunlar muhtemelen şuraya giderek de oluşturulabilir: Github belirteçleri çevrimiçi sayfası. bakış Kimlik doğrulamayla ilgili Github Paketleri kişi belgeleri sınırlı baskı eklemek için.localSdk
: SDK'nın yerel maven yapıtından uzaktan yüklenmeyi içerebilmesi durumunda çıkarılacak bir boole değeri (ör.:localSdk=true
). Benzersiz SDK yetenekleri oluştururken burada kritik öneme sahip bir nokta var. Değerlendirme SDK'yı alıcılara bağlama sınırlı baskı eklemek için.
Kod moda biçimlendiricisini kurun:
Tüm kodların, içinde açıklanan işaretçilere uyması gerekir. Kod Modeli Yönergeleri belgesi. Bu fikirlere bağlı kalmaya yardımcı olmak için, tüm katkıda bulunanlar uzak başvuruda bulunabilirler.
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çmek
Import
. - Şunu edinin:
bitwarden-style.xml
misyonun içindeki dosyadocs/
dizin. - “Kimden”i içe aktar
BitwardenStyle
“ile”BitwardenStyle
. - Vurmak
Apply
VeOK
Ayarlamaları oluşturmak ve Tercihler'den çıkmak için.
Bazı durumlarda, büyük olasılıkla, besteyi çalmak için gerekli ayarlamaları yapmak üzere Android Studio'yu yeniden başlatmanız gerekebileceğini de unutmayın.
Tüm kodlar, bir çekme arama bilgisi gönderilmeden önce biçimlendirilmeyi içerebilir. Bu belki manuel olarak da tamamlanabilir, ancak kaydederken otomatik formata bağlanan kişiselleştirilmiş bir klavyeye sahip bir makro oluşturmak da muhtemelen faydalı olabilir. OS X'teki Android Studio'da:
- Seçmek
Edit > Macros > Start Macro Recording
- Seçmek
Code > Optimize Imports
- Seçmek
Code > Reformat Code
- Seçmek
File > Save All
- Seçmek
Edit > Macros > Stop Macro Recording
Bu daha sonra şuraya giderek tuşların konumuna eşleştirilebilir:
Android Studio > Preferences
ve aşağıdaki makroyu düzenliyorumKeymap
(örnek: kaydırma + karakterize etme + s).Lütfen benzer taahhüt/PR içerisinde formatlama ve mantıksal ayarlamaları karıştırmaktan kaçının. Mümkün olduğunda, benzer kodda mantıksal ayarlamalar oluşturmak için herhangi bir devasa biçimlendirme noktasını ayrı bir PR'de açmadan önce onarın. Bu, kodu incelerken başkalarının dikkatini önemli kod ayarlamalarına odaklamasına yardımcı olur.
- Şuraya git:
Aşağıda, kabul edilen Android SDK'nın ötesinde, uygulamanın bir parçası olarak dahil edilen tüm üçüncü kutlama 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 varyasyonlarında benzersiz API'lere erişimin keşfedilmesine izin verir.
- Lisans: Apache 2.0
AndroidX Otomatik Doldurma
- https://developer.android.com/jetpack/androidx/releases/autofill
- Gerekçe: Satır içi otomatik doldurma kullanıcı arayüzü oluşturmaya yönelik araçlara erişimin keşfedilmesine izin verir.
- Lisans: Apache 2.0
AndroidX Biyometri
- https://developer.android.com/jetpack/androidx/releases/biometric
- Gerekçe: Biyometri veya cihaz 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ı kişinin varsayılan tarayıcısıyla görüntüler.
- Lisans: Apache 2.0
AndroidX KameraX Kamera2
- https://developer.android.com/jetpack/androidx/releases/camera
- Gerekçe: Barkod taraması için fotoğrafları gizleyin ve yakalayın.
- Lisans: Apache 2.0
AndroidX Geliştirme
- https://developer.android.com/jetpack/androidx/releases/ söndür
- Motif: Kotlin tabanlı, 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
- Motif: Geriye dönük SplashScreen API uygulaması gibi.
- Lisans: Apache 2.0
AndroidX Kimlik Bilgileri
- https://developer.android.com/jetpack/androidx/releases/credentials
- Gerekçe: Kişinin kimlik bilgilerine erişimin keşfedilmesinde birleştirildi.
- Lisans: Apache 2.0
AndroidX Yaşam Döngüsü
- https://developer.android.com/jetpack/androidx/releases/lifecycle
- Gerekçe: Uyuyan parçaların ve takımların yaşam döngüsü.
- Lisans: Apache 2.0
AndroidX Odası
- https://developer.android.com/jetpack/androidx/releases/room
- Motive: Android için kullanışlı bir SQLite tabanlı tam 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 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
- Gerekçe: WorkManager, güvenilir şekilde hızlandırılması gereken ertelenebilir, eşzamansız görevleri zamanlamak için eskitilmiştir.
- 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: Anlık bildirim izinleri güçlendirildi. (NOT: Bu bağımlılık F-Droid tarafından sağlanan yapılara dahil edilmemiştir.)
- Lisans: Apache 2.0
Firebase Crashlytics
- https://github.com/firebase/firebase-android-sdk
- Gerekçe: Enkaz ve ölümcül olmayan hata raporlaması için SDK. (NOT: Bu bağımlılık F-Droid tarafından sağlanan yapılara dahil edilmemiştir.)
- Lisans: Apache 2.0
Seyahat
- https://github.com/bumptech/cruise
- Sebep: Görüntü yükleme ve önbelleğe alma.
- Lisans: BSD, bölüm MIT ve Apache 2.0
kotlinx.collections.immutable
- https://github.com/Kotlin/kotlinx.collections.immutable
- Motif: Kotlin için değişmez dizi arayüzleri 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/sq./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/sq./okhttp
- Güdü: Çevrimiçi sayfa trafiğini engellemek ve günlüğe kaydetmek için kütüphane tarafından yaşlandırılan bir HTTP tüketicisi.
- Lisans: Apache 2.0
Güçlendirme 2
- https://github.com/sq./retrofit
- Motif: Bir ağ katmanı arayüzü.
- Lisans: Apache 2.0
zxcvbn4j
- https://github.com/nulab/zxcvbn4j
- Gerekçe: Şifre enerji tahmini.
- Lisans: MİT
ZXing
- https://github.com/zxing/zxing
- Sebep: Barkod tarama ve oluşturma.
- Lisans: Apache 2.0
Aşağıda, yerel bina ortamının bir parçası olarak yaşlanan ekstra üçüncü kutlama bağımlılıklarının bir listesi bulunmaktadır. Bu, bağlantılı yapılara, kod kalitesine ve astarlamaya bağlı araçlar kadar akıllıca bakmayı gerektirir. Bunlar son paket uygulamada mevcut değildir.
tespit
- https://github.com/detekt/detekt
- Motive: Kotlin programlama dili için statik bir kod teşhis aracı.
- Lisans: Apache 2.0
JÜnite 5
- https://github.com/junit-personnel/junit5
- Motif: Uygulama kodunu kontrol etmek için Birim Testi çerçevesi.
- Lisans: Eclipse Kamu Lisansı 2.0
SahteK
- https://github.com/mockk/mockk
- Motif: Kotlin-hoş alaycı kütüphane.
- Lisans: Apache 2.0
Roboelektrik
- https://github.com/robolectric/robolectric
- Motif: Android çerçevesinde doğrudan kod sayımı için çerçeveyi kontrol eden bir birim.
- Lisans: MİT
Türbin
- https://github.com/cashapp/turbine
- Motif: Kotlinx.coroutine'in Waft'ı için sınırlı bir kontrol kütüphanesi.
- Lisans: Apache 2.0
Aşağıda CI/CD iş akışlarının bir parçası olarak eskitilen ekstra üçüncü kutlama bağımlılıklarının bir listesi bulunmaktadır. Bunlar son paket uygulamada mevcut değildir.
Hızlı şerit
- https://fastlane.tools/
- Motive: 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