• Stars
    star
    103
  • Rank 322,650 (Top 7 %)
  • Language
    C++
  • License
    Other
  • Created over 15 years ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Protocol Buffers - Google's data interchange format

Copyright 2008 Google Inc.

https://developers.google.com/protocol-buffers/

Overview

Protocol Buffers (a.k.a., protobuf) are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data. You can find protobuf's documentation on the Google Developers site.

This README file contains protobuf installation instructions. To install protobuf, you need to install the protocol compiler (used to compile .proto files) and the protobuf runtime for your chosen programming language.

Protocol Compiler Installation

The protocol compiler is written in C++. If you are using C++, please follow the C++ Installation Instructions to install protoc along with the C++ runtime.

For non-C++ users, the simplest way to install the protocol compiler is to download a pre-built binary from our release page:

https://github.com/protocolbuffers/protobuf/releases

In the downloads section of each release, you can find pre-built binaries in zip packages: protoc-$VERSION-$PLATFORM.zip. It contains the protoc binary as well as a set of standard .proto files distributed along with protobuf.

If you are looking for an old version that is not available in the release page, check out the maven repo here:

https://repo1.maven.org/maven2/com/google/protobuf/protoc/

These pre-built binaries are only provided for released versions. If you want to use the github main version at HEAD, or you need to modify protobuf code, or you are using C++, it's recommended to build your own protoc binary from source.

If you would like to build protoc binary from source, see the C++ Installation Instructions.

Protobuf Runtime Installation

Protobuf supports several different programming languages. For each programming language, you can find instructions in the corresponding source directory about how to install protobuf runtime for that specific language:

Language Source
C++ (include C++ runtime and protoc) src
Java java
Python python
Objective-C objectivec
C# csharp
Ruby ruby
Go protocolbuffers/protobuf-go
PHP php
Dart dart-lang/protobuf

Quick Start

The best way to learn how to use protobuf is to follow the tutorials in our developer guide:

https://developers.google.com/protocol-buffers/docs/tutorials

If you want to learn from code examples, take a look at the examples in the examples directory.

Documentation

The complete documentation for Protocol Buffers is available via the web at:

https://developers.google.com/protocol-buffers/

More Repositories

1

platform_frameworks_base

Java
10,545
star
2

platform_development

Python
2,699
star
3

platform_frameworks_support

Java
1,658
star
4

platform_system_core

C++
1,179
star
5

platform_bionic

Objective-C
583
star
6

platform_packages_apps_settings

Java
489
star
7

kernel_common

C
473
star
8

platform_dalvik

Java
445
star
9

platform_build

Makefile
418
star
10

platform_packages_apps_music

Java
291
star
11

platform_packages_apps_contacts

Java
279
star
12

platform_packages_apps_calendar

Java
268
star
13

platform_manifest

233
star
14

platform_packages_apps_mms

Java
212
star
15

tools_repo

Python
193
star
16

platform_packages_apps_browser

Java
192
star
17

platform_packages_apps_camera

Java
182
star
18

platform_packages_apps_calculator

Java
167
star
19

platform_packages_apps_email

Java
134
star
20

platform_packages_apps_alarmclock

Java
127
star
21

platform_packages_apps_launcher

Java
126
star
22

kernel_msm

125
star
23

platform_packages_apps_packageinstaller

Java
120
star
24

platform_external_qemu

C
107
star
25

platform_packages_apps_phone

97
star
26

platform_hardware_libhardware

C++
91
star
27

platform_external_webkit

C++
78
star
28

platform_packages_providers_downloadprovider

Java
71
star
29

platform_packages_providers_contactsprovider

Java
69
star
30

platform_external_opencore

C++
67
star
31

platform_external_openssl

57
star
32

platform_external_skia

C++
56
star
33

platform_hardware_ril

C++
56
star
34

platform_packages_apps_soundrecorder

Java
56
star
35

platform_packages_providers_telephonyprovider

Java
50
star
36

platform_frameworks_policies_base

Java
50
star
37

platform_prebuilt

C
49
star
38

platform_packages_providers_mediaprovider

Java
48
star
39

platform_packages_apps_stk

Java
44
star
40

platform_system_bluetooth

C
40
star
41

platform_external_wpa_supplicant

C
39
star
42

platform_external_apache-http

Java
39
star
43

platform_packages_apps_htmlviewer

Java
38
star
44

platform_external_libpcap

C
38
star
45

platform_external_sqlite

C++
36
star
46

platform_packages_providers_calendarprovider

Java
36
star
47

platform_external_freetype

C
35
star
48

platform_external_libxml2

C
34
star
49

platform_external_iptables

C
31
star
50

platform_external_sonivox

C
28
star
51

platform_packages_apps_googlesearch

Java
27
star
52

platform_external_icu4c

C++
26
star
53

platform_packages_apps_im

Java
26
star
54

platform_external_zlib

C
24
star
55

platform_packages_apps_voicedialer

Java
24
star
56

platform_external_giflib

C
23
star
57

platform_external_bluez

C
22
star
58

platform_external_netcat

C
22
star
59

platform_frameworks_opt_com.google.android

Makefile
22
star
60

platform_external_strace

C
22
star
61

platform_external_dhcpcd

C
21
star
62

platform_external_expat

C
21
star
63

platform_external_libpng

C
20
star
64

platform_external_ppp

C
19
star
65

platform_external_tcpdump

C
19
star
66

platform_external_dbus

C
19
star
67

platform_packages_apps_sync

18
star
68

platform_external_jpeg

C
17
star
69

platform_external_elfutils

C
17
star
70

platform_external_jdiff

Java
16
star
71

platform_external_srec

Roff
16
star
72

platform_external_emma

Java
16
star
73

platform_external_oprofile

C
14
star
74

platform_external_netperf

C
14
star
75

platform_external_aes

C
14
star
76

platform_packages_apps_updater

14
star
77

platform_external_jhead

C
14
star
78

platform_external_dropbear

C
13
star
79

platform_external_fdlibm

C
13
star
80

platform_packages_providers_googlecontactsprovider

Makefile
13
star
81

platform_external_gdata

Java
13
star
82

platform_packages_providers_drmprovider

Java
13
star
83

platform_external_tagsoup

Java
13
star
84

platform_packages_providers_improvider

Java
12
star
85

platform_system_wlan_ti

C
12
star
86

aosp-mirror.github.io

HTML
12
star
87

platform_external_ping

12
star
88

platform_external_googleclient

Makefile
12
star
89

platform_external_clearsilver

C
12
star
90

platform_external_esd

C
11
star
91

platform_external_neven

C
11
star
92

platform_external_tinyxml

C++
11
star
93

platform_external_yaffs2

C
11
star
94

platform_external_libffi

C
10
star
95

platform_external_tremor

C
9
star
96

platform_external_elfcopy

C
9
star
97

platform_external_safe-iop

C
9
star
98

.github

A repository for GitHub-specific configurations.
8
star
99

.allstar

2
star