rsbinder
rsbinder provides crates implemented in pure Rust that make Binder IPC available on both Android and Linux.
파일 탐색기
최종 버전 다운로드 (.zip)- build.yml
- deploy-book.yml
- integration-test.yml
- dependabot.yml
- aidl-annotations.md
- aidl-data-types.md
- aidl-enum-union.md
- aidl-guide.md
- aidl-parcelable.md
- android-build.md
- android.md
- arch-linux.md
- architecture.md
- async-service.md
- callbacks-and-interfaces.md
- cross-transport-services.md
- enable-binder-for-linux.md
- error-handling.md
- getting-started.md
- hello-world.md
- installation.md
- overview.md
- parcel-file-descriptor.md
- redhat-linux.md
- rpc-transport.md
- security.md
- service-development.md
- service-manager.md
- service-patterns.md
- shared-memory.md
- stability-tiers.md
- SUMMARY.md
- ubuntu-linux.md
- book.toml
- mermaid-init.js
- mermaid.min.js
- IAuthz.aidl
- ICallingIdentity.aidl
- IHello.aidl
- IPermCheck.aidl
- IRtCheck.aidl
- IShm.aidl
- IUpdateTxnDedup.aidl
- rsbinder_phasec_accessor.xml
- imemory_interop.cpp
- phasec_vintf_client.cpp
- rpc_accessor_interop_launcher.cpp
- rpc_accessor_register_interop_launcher.cpp
- rpc_multiconn_interop_launcher.cpp
- run_calling_identity_interop.sh
- run_d8b_register.sh
- run_enforce_permission_interop.sh
- run_imemory_interop.sh
- run_phasec_vintf.sh
- run_rpc_accessor_interop.sh
- run_rpc_accessor_register_interop.sh
- run_rpc_multiconn_interop.sh
- run_rt_inherit_interop.sh
- run_update_txn_interop.sh
- authz_client.rs
- authz_service.rs
- calling_identity_interop_client.rs
- calling_identity_interop_service.rs
- enforce_permission_interop_client.rs
- enforce_permission_interop_service.rs
- hello_async_client.rs
- hello_async_service.rs
- hello_callback_demo.rs
- hello_client.rs
- hello_service.rs
- rpc_accessor_interop_client.rs
- rpc_accessor_register_interop_server.rs
- rpc_hello_client.rs
- rpc_hello_service.rs
- rpc_multiconn_interop_server.rs
- rt_inherit_interop_client.rs
- rt_inherit_interop_service.rs
- shm_client.rs
- shm_service.rs
- unified_client.rs
- unified_service.rs
- update_txn_interop_client.rs
- update_txn_interop_service.rs
- lib.rs
- build.rs
- Cargo.toml
- README.md
- rpc_accessor_error.rs
- rpc_address_decode.rs
- rpc_fd_ancillary.rs
- rpc_fd_v1_body.rs
- rpc_frame_decode.rs
- rpc_parcel_rpc_mode.rs
- rpc_raw_fd.rs
- rpc_session_handshake.rs
- rpc_wire_decode.rs
- Cargo.lock
- Cargo.toml
- IClientCallback.aidl
- IServiceCallback.aidl
- IServiceManager.aidl
- IClientCallback.aidl
- IServiceCallback.aidl
- IServiceManager.aidl
- ServiceDebugInfo.aidl
- ConnectionInfo.aidl
- IClientCallback.aidl
- IServiceCallback.aidl
- IServiceManager.aidl
- PersistableBundle.aidl
- ServiceDebugInfo.aidl
- ConnectionInfo.aidl
- IClientCallback.aidl
- IServiceCallback.aidl
- IServiceManager.aidl
- ServiceDebugInfo.aidl
- ConnectionInfo.aidl
- IAccessor.aidl
- IClientCallback.aidl
- IServiceCallback.aidl
- IServiceManager.aidl
- PersistableBundle.aidl
- Service.aidl
- ServiceDebugInfo.aidl
- ServiceWithMetadata.aidl
- IPermissionController.aidl
- client.rs
- mod.rs
- server.rs
- uri.rs
- accessor_16.rs
- accessor_register.rs
- mod.rs
- servicemanager_10.rs
- servicemanager_11.rs
- servicemanager_12.rs
- servicemanager_13.rs
- servicemanager_14.rs
- servicemanager_16.rs
- mem.rs
- mod.rs
- tcp_debug.rs
- tls.rs
- unix.rs
- vsock.rs
- address.rs
- fd_mode.rs
- lifecycle.rs
- mod.rs
- proxy.rs
- server.rs
- session.rs
- state.rs
- strong_session_tests.rs
- wire.rs
- wire_android13.rs
- mod.rs
- tokio_rt.rs
- dealer.rs
- heap.rs
- mod.rs
- shared.rs
- wire.rs
- binder.h
- binderfs.h
- mod.rs
- sys.rs
- binder.rs
- binder_async.rs
- binder_object.rs
- binderfs.rs
- error.rs
- file_descriptor.rs
- lazy_service.rs
- lib.rs
- macros.rs
- native.rs
- parcel.rs
- parcelable.rs
- parcelable_holder.rs
- permission_controller.rs
- process_state.rs
- proxy.rs
- proxy_count.rs
- ref_counter.rs
- status.rs
- thread_state.rs
- ca.crt
- rogue.crt
- rogue.key
- srv.crt
- srv.key
- loom_cache_pin.rs
- macro_interface.rs
- rpc_accessor.rs
- rpc_e2e.rs
- rpc_fd.rs
- rpc_scenarios.rs
- rpc_server.rs
- rpc_shared_memory.rs
- rpc_tls.rs
- rpc_vsock.rs
- source_invariants.rs
- build.rs
- Cargo.toml
- ClassDiag.md
- README.md
- show_errors.rs
- aidl.pest
- const_expr.rs
- error.rs
- generator.rs
- lib.rs
- parser.rs
- type_generator.rs
- aidl_fixture_sweep.rs
- test_aidl.rs
- test_annotation_lockins.rs
- test_arrays.rs
- test_descriptor_override.rs
- test_enforce_permission.rs
- test_enum_references.rs
- test_enums_unions.rs
- test_error_output.rs
- test_error_recovery.rs
- test_interfaces.rs
- test_oneway_validation.rs
- test_parcelables.rs
- test_parse_errors.rs
- test_rerun_if_changed.rs
- test_review_regressions.rs
- test_safety_fixes.rs
- test_semantic_errors.rs
- test_unknown_annotation.rs
- Cargo.toml
- README.md
- binder_enum.rs
- lib.rs
- parcelable.rs
- type_str.rs
- descriptor_with_quote.rs
- descriptor_with_quote.stderr
- enum_implicit_value.rs
- enum_implicit_value.stderr
- enum_without_repr.rs
- enum_without_repr.stderr
- generic_interface.rs
- generic_interface.stderr
- missing_receiver.rs
- missing_receiver.stderr
- nested_reference_arg.rs
- nested_reference_arg.stderr
- nullable_primitive_arg.rs
- nullable_primitive_arg.stderr
- oneway_out_param.rs
- oneway_out_param.stderr
- oneway_with_return.rs
- oneway_with_return.stderr
- out_primitive_arg.rs
- out_primitive_arg.stderr
- parcelable_holder_field.rs
- parcelable_holder_field.stderr
- parcelable_tuple_struct.rs
- parcelable_tuple_struct.stderr
- unsafe_trait.rs
- unsafe_trait.stderr
- unsupported_attribute.rs
- unsupported_attribute.stderr
- binder_enum_values.rs
- ui.rs
- Cargo.toml
- README.md
- rsb_device.rs
- rsb_hub.rs
- Cargo.toml
- README.md
- ci_wait_test_service_ready.sh
- FixedSizeArrayExample.aidl
- Data.aidl
- Enum.aidl
- ILoggableInterface.aidl
- Union.aidl
- ITrunkStableTest.aidl
- ExtendableParcelable.aidl
- MyExt.aidl
- MyExt2.aidl
- MyExtLike.aidl
- Baz.aidl
- IFaz.aidl
- Pair.aidl
- Bar.aidl
- Foo.aidl
- IBaz.aidl
- Union.aidl
- Bar.aidl
- Foo.aidl
- IEmpty.aidl
- IMapTest.aidl
- IntEnum.aidl
- DeeplyNested.aidl
- INestedService.aidl
- ParcelableWithNested.aidl
- NonVintfExtendableParcelable.aidl
- NonVintfParcelable.aidl
- IProtected.aidl
- IProtected.aidl
- IProtectedInterface.aidl
- IFoo.aidl
- EnumUnion.aidl
- UnionInUnion.aidl
- UnstableExtendableParcelable.aidl
- UnstableParcelable.aidl
- VintfExtendableParcelable.aidl
- VintfParcelable.aidl
- ArrayOfInterfaces.aidl
- BackendType.aidl
- ByteEnum.aidl
- CircularParcelable.aidl
- ConstantExpressionEnum.aidl
- FixedSize.aidl
- GenericStructuredParcelable.aidl
- ICircular.aidl
- INamedCallback.aidl
- INewName.aidl
- IntEnum.aidl
- IOldName.aidl
- ITestService.aidl
- ListOfInterfaces.aidl
- LongEnum.aidl
- OtherParcelableForToString.aidl
- ParcelableForToString.aidl
- RecursiveList.aidl
- SimpleParcelable.aidl
- StructuredParcelable.aidl
- Union.aidl
- UnionWithFd.aidl
- BazUnion.aidl
- Foo.aidl
- IFooInterface.aidl
- CrossCfg.aidl
- CrossMode.aidl
- IMacroCross.aidl
- IMeshNode.aidl
- IMeshObserver.aidl
- MeshMessage.aidl
- MeshValue.aidl
- NodeKind.aidl
- IRpcCaller.aidl
- IRpcPermGuard.aidl
- IRpcSmoke.aidl
- ITrunkStableTest.aidl
- BazUnion.aidl
- Foo.aidl
- IFooInterface.aidl
- mesh_node.rs
- test_service.rs
- test_service_async.rs
- lib.rs
- test_accessor_rsb_hub.rs
- test_client.rs
- test_sm.rs
- entry_rpc.rs
- macro_cross.rs
- mesh_kernel.rs
- mesh_rpc.rs
- rpc_async.rs
- rpc_calling_identity.rs
- rpc_enforce_permission_deny.rs
- rpc_generated_stub.rs
- build.rs
- Cargo.toml
- README.md
- .gitattributes
- .gitignore
- Cargo.lock
- Cargo.toml
- CHANGELOG.md
- CONTRIBUTING.md
- coverage.svg
- deny.toml
- envsetup.sh
- LICENSE-APACHE
- README.md
- REMOTE_ANDROID
# 설치 가이드
1. 코드 내려받기
git clone https://github.com/hiking90/rsbinder
깃허브에서 프로젝트 코드 전체를 내 컴퓨터로 내려받습니다.
cd rsbinder
방금 내려받은 프로젝트 폴더 안으로 이동합니다.
2. Rust
보통 추천사전 준비물
- Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
- Rust (rustup) rustup으로 설치하면 cargo도 함께 설치됩니다.
$ cargo run -p example-hello --features rpc --bin rpc_hello_service
빌드 후 바로 실행까지 진행합니다.
$ cargo run -p example-hello --features rpc --bin rpc_hello_client
빌드 후 바로 실행까지 진행합니다.
$ cargo build
Rust 프로젝트를 컴파일합니다.
$ cargo run --bin rsb_hub # service manager
빌드 후 바로 실행까지 진행합니다.
$ cargo run --bin hello_service
빌드 후 바로 실행까지 진행합니다.
cargo build가 에러 없이 끝나면 성공입니다. target/ 폴더에 실행 파일이 생성됩니다.
이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.
// repository documentation
Was this content helpful?
(0 ratings)
