Ce ' sunt cu adevărat ' aplicații terțe '

Aș dori să știu ce sunt cu adevărat aplicații terțe în android. În timp ce mă refeream la Dezvoltare Android , acesta spune că stratul de aplicație constă din:

  1. Aplicații native
  2. Aplicații terță parte
  3. Aplicații pentru dezvoltatori

Știu că aplicațiile terțe sunt cele care nu sunt dezvoltate de prima parte (furnizorul de operare sistem), așa cum se menționează în aplicații terțe . Dar cred că atunci când vine vorba de aplicațiile terțe pentru Android și aplicațiile pentru dezvoltatori sunt aceleași, nu-i așa? Ar putea cineva să mă ajute .

Comentarii

  • Sincer, nu am putut ' să înțeleg separarea dintre aplicațiile native, terțe părți aplicații și aplicații (toate acestea sunt aplicații din dicționarul meu). Așa cum a fost citat din carte (pe care nu l-am putut ' t obține acces decât dacă îl cumpărăm), explică, de asemenea, diferența dintre acestea sau doar menționând acest lucru? În caz contrar, ați putea să citați și să îl adăugați la întrebare?
  • @AndrewT.: Oh, îmi pare rău. Chiar erau Aplicații pentru dezvoltatori nu Aplicații pe măsură ce am editat postarea. Puteți spune dacă aplicațiile terță parte diferă de aplicațiile pentru dezvoltatori. Întrucât răspunsul declarat de Izzy ambele ar trebui să fie același, deoarece ambele nu sunt dezvoltate nici de OS nici producătorul .
  • Cred că, în acest context, " aplicații pentru dezvoltatori " reprezintă aplicații care nu sunt instalate de pe orice " piață " – ci pe cele pe care le scrieți și le testați-le instalați prin cadrul de dezvoltare corespunzător. În contextul " semnături " (vezi răspunsul meu mai jos): AFAIK acele aplicații sunt semnate cu " chei de dezvoltare ", deci au din nou un fel de " semnătură specială ". Trebuie să investighez mai în profunzime pentru a spune diferența exactă din punctul de vedere al unui utilizator ', totuși.

Răspuns

Versiune scurtă

Fiecare aplicație, alta decât " Aplicații pentru sisteme de operare și producător " înseamnă " aplicații terțe ".

TL; DR

Aplicațiile terță parte sunt cele furnizate de o terță parte, hrm. Deși următorii termeni sunt inexistenți, puteți vizualiza acest lucru după cum urmează: Prima parte este cea care furnizează sistemul de operare (AOSP / Google), a doua parte producătorul (adăugând propriile aplicații).

Practic, acest lucru poate fi citit ca: Tot ce nu a fost preinstalat. Acesta este termenul " terță parte " care este folosit în mod normal pentru 1 .

Istoric tehnic

Găsiți câteva informații tehnice în sistemul de permisiuni Android. Dacă navigați prin paginile legate de dezvoltatorii Android sau vedeți permisiunile aplicației explicate , pentru unele permisiuni veți întâlni expresia " care nu este utilizată de aplicațiile terțe " (sau similar). Cum decide sistemul ce face o " aplicație terță parte "? Se uită la semnătura și o compară cu semnăturile sistemului de operare și ale producătorilor. Dacă semnătura aplicației nu se potrivește cu oricare dintre cele două, este " aplicație terță parte ".

" Aplicații pentru dezvoltatori "

În întrebarea dvs., accentul a fost să decidem între " terț " și " dezvoltator " aplicații. Practic, în practică aplicațiile pentru dezvoltatori sunt mai degrabă un " sub-grup " din " treime aplicații pentru petreceri ". După cum afirmă pagina de dezvoltator corespunzătoare , pentru a facilita depanarea unei aplicații în timpul dezvoltării 3 , aceasta poate fi semnată " în modul de depanare ":

Puteți semna o aplicație în depanare sau lansare modul. Vă semnați aplicația în modul de depanare în timpul dezvoltării și în modul de lansare când sunteți gata să distribuiți aplicația. Android SDK generează un certificat pentru semnarea aplicațiilor în modul de depanare. Pentru a semna aplicații în modul de lansare, trebuie să vă generați propriul certificat.

[…]

Puteți rula și depana o aplicație semnată în modul de depanare pe emulator și pe dispozitivele conectate la manchine-ul de dezvoltare prin USB, dar nu puteți distribui o aplicație conectată modul de depanare.

Astfel " aplicațiile pentru dezvoltatori " să vi se spună folosind un " certificat de depanare cunoscut ". După cum afirmă sursa citată, acest lucru nu ar trebui utilizat cu " aplicațiile lansate " (de exemplu, un dezvoltator nu ar trebui să publice nicio aplicație semnată way) 2 .

Alte lecturi


1: deși din punct de vedere tehnic s-ar putea să nu fie pe deplin corect (exemplu: în acest context, cum s-ar numi o aplicație pe care ați instalat-o manual, când a fost semnat cu aceeași cheie ca ROM-ul în sine – adică venea de la producător?)

2: Acest lucru este din motive de securitate. Aplicațiile ar putea accesa resursele altor aplicații atunci când se utilizează aceeași semnătură – fapt folosit de exemplu de " addons " pentru anumite aplicații scrise de același dezvoltator (ca sursă deja denumită , de exemplu: Android permite aplicațiilor semnate de același certificat să ruleze în același proces, dacă aplicațiile solicită acest lucru, astfel încât sistemul să le trateze ca o singură aplicație. Și: Android oferă aplicarea permisiunilor bazate pe semnături, astfel încât o aplicație să expună funcționalitatea unei alte aplicații care este semnată cu un certificat specificat. Semnând mai multe aplicații cu același certificat și folosind verificări de permisiuni bazate pe semnături, aplicațiile dvs. pot partaja cod și date într-un mod sigur ). Utilizând " propriul dvs. " protejează " aplicația dvs. " de accesarea " alte deve lopers „apps ".

3: AFAIK nu puteți instala o " aplicație nesemnată ", deci semnarea acesteia este obligatorie. Când " semnează " o aplicație, de obicei trebuie să furnizați două parole (una pentru magazinul de chei care deține semnăturile dvs. și una pentru semnătură) în sine). Folosind semnarea " mod de depanare ", acest lucru poate fi evitat, deoarece acesta folosește o semnătură internă a SDK-ului cu o parolă cunoscută de dezvoltare instrumente. Acest lucru face ca depanarea să fie mult mai ușoară, deoarece nu trebuie să tastați cele două parole în repetate rânduri în timpul " compile ›test› compile ›test din nou› .. ".

Comentarii

  • : Acel ' este un bun răspuns elaborat. Dar ați putea spune că este nevoie să semnați o aplicație în mod de depanare .
  • După cum este descris de răspunsul meu (din nou actualizat): „611c91a226″>

simplifică depanarea unei aplicații în timpul dezvoltării ". ' voi include un mic background pe " încă o actualizare ". După aceea, ' s ne curăță comentariile (ștergerea cele depășite de actualizările mele la răspuns), nu-i așa?;)

  • : Bine. Dar ați putea să-mi spuneți ce înseamnă cu adevărat prin semnătura unei aplicații. cine l-a dezvoltat cu adevărat (fie că ' OS, producător) sau înseamnă altceva?
  • Că ' merge puțin adânc în partea tehnică. Vă recomandăm să consultați Wikipedia pentru aceasta. Practic, înseamnă cine a semnat aplicația, care este de obicei dezvoltatorul.Ca și în cazul unei hârtii semnate printr-o semnătură (scrisă manual), o semnătură digitală demonstrează autenticitatea datelor semnate (aici .apk).
  • Lasă un răspuns

    Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *