Uç
Bu repo, şu anda mevcut olan çağdaş yerel Android uygulamasına sahiptir. Beta. Eski .NET MAUI uygulamalarına mı göz atıyorsunuz? Şuraya gidin: bit gardiyanı/hücre
- Minimum SDK: 29
- Şema SDK'sı: 34
- Desteklenen Araç Sıralamaları: Telefon ve Tablet
- Desteklenen Yönler: Portre ve Manzara
Depoyu klonlayın:
$ git clone github.com/bitwarden/android
Kırık a
user.properties
Mücadelenin ilham listesine dosya ekleyin ve sonraki özellikleri ekleyin:gitHubToken
: Token'a (PAT) yönelik “klasik” bir Github Kamuya Açık Olmayan Yakalama girişiread:packages
kapsam (ör.:gitHubToken=gph_xx...xx
). Bunlar şans eseri şuraya giderek de oluşturulabilir: Github belirteçleri web sayfası. Fikir kimlik doğrulamayla ilgili Github Uygulamaları kullanıcı belgeleri daha önemli seçimler için.localSdk
: SDK'nın yerel maven yapıtından şans eseri dengeli bir şekilde yüklenip yüklenemeyeceğini ortaya çıkaracak bir boole değeri (ör.:localSdk=true
). Çağdaş SDK yeteneklerini geliştirirken burası son derece değerlidir. Değerlendirme SDK'yı olasılıklara bağlama daha önemli seçimler için.
Kod moda biçimlendiricisini kurun:
Tüm kodların, bölümde açıklanan sistemleri keşfetmesi gerekir. Kod Modeli İşaretçileri tarihçesi. Bu kavramlara bağlı kalmayı teşvik etmek için, tüm katkıda bulunanlar şans eseri aklı başında bir şekilde keşfedebilirler.
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
. - Karar ver
Import
. - Al
bitwarden-style.xml
meydan okuma dosyasındaki dosyadocs/
listeleme. - “Kimden”i içe aktar
BitwardenStyle
“ile”BitwardenStyle
. - Vurmak
Apply
VeOK
Ayarlamaları atamak ve Tercihler'den çıkmak için.
Bazı durumlarda, ayarların dikkate alınması için Android Studio'yu yeniden başlatmayı düşündüğünüzü belirtin.
Tüm kodlar, bir çekme isteği gönderilmeden önce şans eseri düz bir şekilde biçimlendirilebilir. Bu, muhtemelen manuel olarak da yapılabilir, ancak kaydederken otomatik biçimlendirmeye kişiselleştirilmiş bir klavye bağlaması içeren bir makro oluşturmak da amaçlanabilir. OS X'teki Android Studio'da:
- Karar ver
Edit > Macros > Start Macro Recording
- Karar ver
Code > Optimize Imports
- Karar ver
Code > Reformat Code
- Karar ver
File > Save All
- Karar ver
Edit > Macros > Stop Macro Recording
Bu daha sonra şuraya giderek bir tuş sıkışmasıyla eşleştirilebilir:
Android Studio > Preferences
ve aşağıdaki makroyu düzenliyorumKeymap
(örnek: kaydırma + açığa çıkarma + s).Lütfen aynı işleme/PR'de biçimlendirmeyi ve mantıksal ayarlamaları karıştırmaktan çok uzak durun. Şans eseri bunu düşüneceğiniz durumlarda, aynı kodda mantıksal ayarlamalar yapmak için ayrı bir PR'de büyük biçimlendirme noktalarını açmaktan daha erken bir zamanda onarın. Bu, diğerlerinin kodu incelerken anlamlı kod ayarlamalarına odaklanmasına yardımcı olur.
- Şuraya git:
Aşağıda, geleneksel Android SDK'nın ötesinde yardımcı programın bir parçası olarak dahil edilen tüm üçüncü durum bağımlılıklarının bir kontrol 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 girişe 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şturmak için araçlara giriş yapılmasına izin verir.
- Lisans: Apache 2.0
AndroidX Biyometri
- https://developer.android.com/jetpack/androidx/releases/biometric
- Gerekçe: Biyometri veya araç 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/camera
- Gerekçe: Barkod taraması için fotoğrafları sunun ve yakalayın.
- Lisans: Apache 2.0
AndroidX Entrikası
- https://developer.android.com/jetpack/androidx/releases/create
- Motif: Temel olarak Kotlin temelli 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ının keyfini çıkarın.
- Lisans: Apache 2.0
AndroidX Kimlik Bilgileri
- https://developer.android.com/jetpack/androidx/releases/credentials
- Motif: Kullanıcının kimlik bilgilerine birleşik giriş.
- Lisans: Apache 2.0
AndroidX Yaşam Döngüsü
- https://developer.android.com/jetpack/androidx/releases/lifecycle
- Motif: Yaşam döngüsü son derece bilinçli maddeler ve aletler.
- Lisans: Apache 2.0
AndroidX Odası
- https://developer.android.com/jetpack/androidx/releases/room
- Motive: Android için yararlı bir SQLite tabanlı temel tabanlı 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 bir araya getirin 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
- Motif: WorkManager, güvenilir bir şekilde yürütülmesini isteyen ertelenebilir, eşzamansız görevleri planlamak 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
- Gerekçe: Anlık bildirim izinleri yardımcı oluyor. (NOT: Bu bağımlılık artık F-Droid yöntemiyle dağıtılan yapılara dahil edilmiyor.)
- Lisans: Apache 2.0
Firebase Crashlytics
- https://github.com/firebase/firebase-android-sdk
- Motif: Atomize ve ölümcül olmayan hata raporlaması için SDK. (NOT: Bu bağımlılık artık F-Droid yöntemiyle dağıtılan yapılara dahil edilmiyor.)
- Lisans: Apache 2.0
Dolaşmak
- https://github.com/bumptech/fly
- Sebep: Görüntü yükleme ve önbelleğe alma.
- Lisans: BSD, parça MIT ve Apache 2.0
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
- Motive: Kütüphane tarafından web sayfası ziyaretçilerini engellemek ve günlüğe kaydetmek için kullanılan 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 teknoloji.
- Lisans: Apache 2.0
Aşağıda, yerel inşaat ortamının bir parçası olarak kullanılan ek üçüncü durum bağımlılıklarının bir kontrol listesi bulunmaktadır. Bu, kod kalitesi ve astarlamayla ilgili araçların yanı sıra ilgili yapıtlara da göz atmayı gerektirir. Bunlar artık son paketlenmiş yardımcı programda çağdaş değil.
tespit
- https://github.com/detekt/detekt
- Motive: Kotlin programlama dili için statik bir kod analiz aracı.
- Lisans: Apache 2.0
JÜnite 5
- https://github.com/junit-crew/junit5
- Sebep: Yardımcı program kodunu kontrol etmek için Birim Kontrol ç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: Doğrudan Android çerçevesini hesaba katan kod çerçevesini kontrol eden bir birim.
- Lisans: MİT
Türbin
- https://github.com/cashapp/turbine
- Motif: Kotlinx.coroutine'in Yarışı ile birlikte koşusu için küçültülmüş bir kontrol kütüphanesi.
- Lisans: Apache 2.0
Aşağıda CI/CD iş akışlarının bir parçası olarak kullanılan ek üçüncü durum bağımlılıklarının bir kontrol listesi bulunmaktadır. Bunlar artık son paketlenmiş yardımcı programda çağdaş değil.
Hızlı şerit
- https://fastlane.instruments/
- Motif: Seçimleri 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