Repository files navigation

New Feature

  • fix issue #56567 —— x/mobile:multiple libraries in android.
  • modify generated c-shard library 's name which determined by your first package name. Fox example, if your first package name (from the array result of package scanning ) is "package test", so that the c-shard library name would be "libtest.so"

How to import multiple android archive into android studio

  1. initialize your go module

    i. go mod init

    ii. replace gomobile remote repository using command : go mod edit -replace=golang.org/x/mobile@latest=github.com/MrKrisYu/mobile@latest,or manually edit go.mod as following

    modulebonjourgo1.21.1replacegolang.org/x/mobilev0.0.0=>github.com/MrKrisYu/mobilev0.0.0-20230925073923-bf58556eb872require (
    golang.org/x/mobilev0.0.0// indirectgolang.org/x/modv0.12.0// indirectgolang.org/x/sysv0.12.0// indirectgolang.org/x/toolsv0.13.0// indirect
    ) 

    iii. get gomobile/bind dependency

    goenv-wGOPROXY=https://goproxy.cngogetgolang.org/x/mobile/bind
  2. install gomobile

    ​ i. git clone https://github.com/MrKrisYu/mobile.git, then cd mobile/cmd/gomobile directory, finally install gomobile.exe or gomobile(based on your os) using command: go install .

    ​ ii. initialize gomobile(On condition that you have already prepare NDK, Android SDK, JDK, ) using command: gomobile init

    ​ iii. due to gombile init will automatically install gobind from golang.org/x/mobile, you need cd previous cloned project 's mobile/cmd/gobind directory and then open terminal and run command go install . to replace gobind exectuable file.

  3. compile AAR files

    if you successful get gomobile executable file, now you are able to build aar using command: gomobile bind -target=android <YourPackage> -v

  4. Import multi aar into Android Studio Project(The following will be referred to AS)

    ​ i. copy your aar files and gomobile-java.jar(at libs directory) into your libs directory in AS project

    ​ ii. add some configuration into your application 's settings.gradle as following

//=============setting.gradle=================dependencyResolutionManagement {
repositories {
flatDir {
dirs 'libs'
}
}
}
//=============build.gradle(Your Application)====== dependencies {
implementation(name: 'AAR-1-Module-From-Gomobile', ext: 'aar')
...
implementation(name: 'AAR-N-Module-From-Gomobile', ext: 'aar')
implementation(name: 'gomobile-java', ext: 'jar')
} 

​ iii. sync your gradle setting, now you are able to use your libs.

Go support for Mobile devices

Go Reference

The Go mobile repository holds packages and build tools for using Go on mobile platforms.

Package documentation as a starting point:

Caution image

The Go Mobile project is experimental. Use this at your own risk. While we are working hard to improve it, neither Google nor the Go team can provide end-user support.

This is early work and installing the build system requires Go 1.5. Follow the instructions on golang.org/wiki/Mobile to install the gomobile command, build the basic and the bind example apps.

--

Contributions to Go are appreciated. See https://golang.org/doc/contribute.html.

About

[mirror] Go on Mobile

Resources

Contributing

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

New Feature

  • fix issue #56567 —— x/mobile:multiple libraries in android.
  • modify generated c-shard library 's name which determined by your first package name. Fox example, if your first package name (from the array result of package scanning ) is "package test", so that the c-shard library name would be "libtest.so"

How to import multiple android archive into android studio

  1. initialize your go module

    i. go mod init

    ii. replace gomobile remote repository using command : go mod edit -replace=golang.org/x/mobile@latest=github.com/MrKrisYu/mobile@latest,or manually edit go.mod as following

    modulebonjourgo1.21.1replacegolang.org/x/mobilev0.0.0=>github.com/MrKrisYu/mobilev0.0.0-20230925073923-bf58556eb872require (
    golang.org/x/mobilev0.0.0// indirectgolang.org/x/modv0.12.0// indirectgolang.org/x/sysv0.12.0// indirectgolang.org/x/toolsv0.13.0// indirect
    ) 

    iii. get gomobile/bind dependency

    goenv-wGOPROXY=https://goproxy.cngogetgolang.org/x/mobile/bind
  2. install gomobile

    ​ i. git clone https://github.com/MrKrisYu/mobile.git, then cd mobile/cmd/gomobile directory, finally install gomobile.exe or gomobile(based on your os) using command: go install .

    ​ ii. initialize gomobile(On condition that you have already prepare NDK, Android SDK, JDK, ) using command: gomobile init

    ​ iii. due to gombile init will automatically install gobind from golang.org/x/mobile, you need cd previous cloned project 's mobile/cmd/gobind directory and then open terminal and run command go install . to replace gobind exectuable file.

  3. compile AAR files

    if you successful get gomobile executable file, now you are able to build aar using command: gomobile bind -target=android <YourPackage> -v

  4. Import multi aar into Android Studio Project(The following will be referred to AS)

    ​ i. copy your aar files and gomobile-java.jar(at libs directory) into your libs directory in AS project

    ​ ii. add some configuration into your application 's settings.gradle as following

//=============setting.gradle=================dependencyResolutionManagement {
repositories {
flatDir {
dirs 'libs'
}
}
}
//=============build.gradle(Your Application)====== dependencies {
implementation(name: 'AAR-1-Module-From-Gomobile', ext: 'aar')
...
implementation(name: 'AAR-N-Module-From-Gomobile', ext: 'aar')
implementation(name: 'gomobile-java', ext: 'jar')
} 

​ iii. sync your gradle setting, now you are able to use your libs.

Go support for Mobile devices

Go Reference

The Go mobile repository holds packages and build tools for using Go on mobile platforms.

Package documentation as a starting point:

Caution image

The Go Mobile project is experimental. Use this at your own risk. While we are working hard to improve it, neither Google nor the Go team can provide end-user support.

This is early work and installing the build system requires Go 1.5. Follow the instructions on golang.org/wiki/Mobile to install the gomobile command, build the basic and the bind example apps.

--

Contributions to Go are appreciated. See https://golang.org/doc/contribute.html.

About

[mirror] Go on Mobile

Resources

Contributing

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

New Feature

  • fix issue #56567 —— x/mobile:multiple libraries in android.
  • modify generated c-shard library 's name which determined by your first package name. Fox example, if your first package name (from the array result of package scanning ) is "package test", so that the c-shard library name would be "libtest.so"

How to import multiple android archive into android studio

  1. initialize your go module

    i. go mod init

    ii. replace gomobile remote repository using command : go mod edit -replace=golang.org/x/mobile@latest=github.com/MrKrisYu/mobile@latest,or manually edit go.mod as following

    modulebonjourgo1.21.1replacegolang.org/x/mobilev0.0.0=>github.com/MrKrisYu/mobilev0.0.0-20230925073923-bf58556eb872require (
    golang.org/x/mobilev0.0.0// indirectgolang.org/x/modv0.12.0// indirectgolang.org/x/sysv0.12.0// indirectgolang.org/x/toolsv0.13.0// indirect
    ) 

    iii. get gomobile/bind dependency

    goenv-wGOPROXY=https://goproxy.cngogetgolang.org/x/mobile/bind
  2. install gomobile

    ​ i. git clone https://github.com/MrKrisYu/mobile.git, then cd mobile/cmd/gomobile directory, finally install gomobile.exe or gomobile(based on your os) using command: go install .

    ​ ii. initialize gomobile(On condition that you have already prepare NDK, Android SDK, JDK, ) using command: gomobile init

    ​ iii. due to gombile init will automatically install gobind from golang.org/x/mobile, you need cd previous cloned project 's mobile/cmd/gobind directory and then open terminal and run command go install . to replace gobind exectuable file.

  3. compile AAR files

    if you successful get gomobile executable file, now you are able to build aar using command: gomobile bind -target=android <YourPackage> -v

  4. Import multi aar into Android Studio Project(The following will be referred to AS)

    ​ i. copy your aar files and gomobile-java.jar(at libs directory) into your libs directory in AS project

    ​ ii. add some configuration into your application 's settings.gradle as following

//=============setting.gradle=================dependencyResolutionManagement {
repositories {
flatDir {
dirs 'libs'
}
}
}
//=============build.gradle(Your Application)====== dependencies {
implementation(name: 'AAR-1-Module-From-Gomobile', ext: 'aar')
...
implementation(name: 'AAR-N-Module-From-Gomobile', ext: 'aar')
implementation(name: 'gomobile-java', ext: 'jar')
} 

​ iii. sync your gradle setting, now you are able to use your libs.

Go support for Mobile devices

Go Reference

The Go mobile repository holds packages and build tools for using Go on mobile platforms.

Package documentation as a starting point:

Caution image

The Go Mobile project is experimental. Use this at your own risk. While we are working hard to improve it, neither Google nor the Go team can provide end-user support.

This is early work and installing the build system requires Go 1.5. Follow the instructions on golang.org/wiki/Mobile to install the gomobile command, build the basic and the bind example apps.

--

Contributions to Go are appreciated. See https://golang.org/doc/contribute.html.

About

[mirror] Go on Mobile

Resources

Contributing

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

New Feature

  • fix issue #56567 —— x/mobile:multiple libraries in android.
  • modify generated c-shard library 's name which determined by your first package name. Fox example, if your first package name (from the array result of package scanning ) is "package test", so that the c-shard library name would be "libtest.so"

How to import multiple android archive into android studio

  1. initialize your go module

    i. go mod init

    ii. replace gomobile remote repository using command : go mod edit -replace=golang.org/x/mobile@latest=github.com/MrKrisYu/mobile@latest,or manually edit go.mod as following

    modulebonjourgo1.21.1replacegolang.org/x/mobilev0.0.0=>github.com/MrKrisYu/mobilev0.0.0-20230925073923-bf58556eb872require (
    golang.org/x/mobilev0.0.0// indirectgolang.org/x/modv0.12.0// indirectgolang.org/x/sysv0.12.0// indirectgolang.org/x/toolsv0.13.0// indirect
    ) 

    iii. get gomobile/bind dependency

    goenv-wGOPROXY=https://goproxy.cngogetgolang.org/x/mobile/bind
  2. install gomobile

    ​ i. git clone https://github.com/MrKrisYu/mobile.git, then cd mobile/cmd/gomobile directory, finally install gomobile.exe or gomobile(based on your os) using command: go install .

    ​ ii. initialize gomobile(On condition that you have already prepare NDK, Android SDK, JDK, ) using command: gomobile init

    ​ iii. due to gombile init will automatically install gobind from golang.org/x/mobile, you need cd previous cloned project 's mobile/cmd/gobind directory and then open terminal and run command go install . to replace gobind exectuable file.

  3. compile AAR files

    if you successful get gomobile executable file, now you are able to build aar using command: gomobile bind -target=android <YourPackage> -v

  4. Import multi aar into Android Studio Project(The following will be referred to AS)

    ​ i. copy your aar files and gomobile-java.jar(at libs directory) into your libs directory in AS project

    ​ ii. add some configuration into your application 's settings.gradle as following

//=============setting.gradle=================dependencyResolutionManagement {
repositories {
flatDir {
dirs 'libs'
}
}
}
//=============build.gradle(Your Application)====== dependencies {
implementation(name: 'AAR-1-Module-From-Gomobile', ext: 'aar')
...
implementation(name: 'AAR-N-Module-From-Gomobile', ext: 'aar')
implementation(name: 'gomobile-java', ext: 'jar')
} 

​ iii. sync your gradle setting, now you are able to use your libs.

Go support for Mobile devices

Go Reference

The Go mobile repository holds packages and build tools for using Go on mobile platforms.

Package documentation as a starting point:

Caution image

The Go Mobile project is experimental. Use this at your own risk. While we are working hard to improve it, neither Google nor the Go team can provide end-user support.

This is early work and installing the build system requires Go 1.5. Follow the instructions on golang.org/wiki/Mobile to install the gomobile command, build the basic and the bind example apps.

--

Contributions to Go are appreciated. See https://golang.org/doc/contribute.html.

About

[mirror] Go on Mobile

Resources

Contributing

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

New Feature

  • fix issue #56567 —— x/mobile:multiple libraries in android.
  • modify generated c-shard library 's name which determined by your first package name. Fox example, if your first package name (from the array result of package scanning ) is "package test", so that the c-shard library name would be "libtest.so"

How to import multiple android archive into android studio

  1. initialize your go module

    i. go mod init

    ii. replace gomobile remote repository using command : go mod edit -replace=golang.org/x/mobile@latest=github.com/MrKrisYu/mobile@latest,or manually edit go.mod as following

    modulebonjourgo1.21.1replacegolang.org/x/mobilev0.0.0=>github.com/MrKrisYu/mobilev0.0.0-20230925073923-bf58556eb872require (
    golang.org/x/mobilev0.0.0// indirectgolang.org/x/modv0.12.0// indirectgolang.org/x/sysv0.12.0// indirectgolang.org/x/toolsv0.13.0// indirect
    ) 

    iii. get gomobile/bind dependency

    goenv-wGOPROXY=https://goproxy.cngogetgolang.org/x/mobile/bind
  2. install gomobile

    ​ i. git clone https://github.com/MrKrisYu/mobile.git, then cd mobile/cmd/gomobile directory, finally install gomobile.exe or gomobile(based on your os) using command: go install .

    ​ ii. initialize gomobile(On condition that you have already prepare NDK, Android SDK, JDK, ) using command: gomobile init

    ​ iii. due to gombile init will automatically install gobind from golang.org/x/mobile, you need cd previous cloned project 's mobile/cmd/gobind directory and then open terminal and run command go install . to replace gobind exectuable file.

  3. compile AAR files

    if you successful get gomobile executable file, now you are able to build aar using command: gomobile bind -target=android <YourPackage> -v

  4. Import multi aar into Android Studio Project(The following will be referred to AS)

    ​ i. copy your aar files and gomobile-java.jar(at libs directory) into your libs directory in AS project

    ​ ii. add some configuration into your application 's settings.gradle as following

//=============setting.gradle=================dependencyResolutionManagement {
repositories {
flatDir {
dirs 'libs'
}
}
}
//=============build.gradle(Your Application)====== dependencies {
implementation(name: 'AAR-1-Module-From-Gomobile', ext: 'aar')
...
implementation(name: 'AAR-N-Module-From-Gomobile', ext: 'aar')
implementation(name: 'gomobile-java', ext: 'jar')
} 

​ iii. sync your gradle setting, now you are able to use your libs.

Go support for Mobile devices

Go Reference

The Go mobile repository holds packages and build tools for using Go on mobile platforms.

Package documentation as a starting point:

Caution image

The Go Mobile project is experimental. Use this at your own risk. While we are working hard to improve it, neither Google nor the Go team can provide end-user support.

This is early work and installing the build system requires Go 1.5. Follow the instructions on golang.org/wiki/Mobile to install the gomobile command, build the basic and the bind example apps.

--

Contributions to Go are appreciated. See https://golang.org/doc/contribute.html.

About

[mirror] Go on Mobile

Resources

Contributing

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

New Feature

  • fix issue #56567 —— x/mobile:multiple libraries in android.
  • modify generated c-shard library 's name which determined by your first package name. Fox example, if your first package name (from the array result of package scanning ) is "package test", so that the c-shard library name would be "libtest.so"

How to import multiple android archive into android studio

  1. initialize your go module

    i. go mod init

    ii. replace gomobile remote repository using command : go mod edit -replace=golang.org/x/mobile@latest=github.com/MrKrisYu/mobile@latest,or manually edit go.mod as following

    modulebonjourgo1.21.1replacegolang.org/x/mobilev0.0.0=>github.com/MrKrisYu/mobilev0.0.0-20230925073923-bf58556eb872require (
    golang.org/x/mobilev0.0.0// indirectgolang.org/x/modv0.12.0// indirectgolang.org/x/sysv0.12.0// indirectgolang.org/x/toolsv0.13.0// indirect
    ) 

    iii. get gomobile/bind dependency

    goenv-wGOPROXY=https://goproxy.cngogetgolang.org/x/mobile/bind
  2. install gomobile

    ​ i. git clone https://github.com/MrKrisYu/mobile.git, then cd mobile/cmd/gomobile directory, finally install gomobile.exe or gomobile(based on your os) using command: go install .

    ​ ii. initialize gomobile(On condition that you have already prepare NDK, Android SDK, JDK, ) using command: gomobile init

    ​ iii. due to gombile init will automatically install gobind from golang.org/x/mobile, you need cd previous cloned project 's mobile/cmd/gobind directory and then open terminal and run command go install . to replace gobind exectuable file.

  3. compile AAR files

    if you successful get gomobile executable file, now you are able to build aar using command: gomobile bind -target=android <YourPackage> -v

  4. Import multi aar into Android Studio Project(The following will be referred to AS)

    ​ i. copy your aar files and gomobile-java.jar(at libs directory) into your libs directory in AS project

    ​ ii. add some configuration into your application 's settings.gradle as following

//=============setting.gradle=================dependencyResolutionManagement {
repositories {
flatDir {
dirs 'libs'
}
}
}
//=============build.gradle(Your Application)====== dependencies {
implementation(name: 'AAR-1-Module-From-Gomobile', ext: 'aar')
...
implementation(name: 'AAR-N-Module-From-Gomobile', ext: 'aar')
implementation(name: 'gomobile-java', ext: 'jar')
} 

​ iii. sync your gradle setting, now you are able to use your libs.

Go support for Mobile devices

Go Reference

The Go mobile repository holds packages and build tools for using Go on mobile platforms.

Package documentation as a starting point:

Caution image

The Go Mobile project is experimental. Use this at your own risk. While we are working hard to improve it, neither Google nor the Go team can provide end-user support.

This is early work and installing the build system requires Go 1.5. Follow the instructions on golang.org/wiki/Mobile to install the gomobile command, build the basic and the bind example apps.

--

Contributions to Go are appreciated. See https://golang.org/doc/contribute.html.

About

[mirror] Go on Mobile

Resources

Contributing

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

New Feature

  • fix issue #56567 —— x/mobile:multiple libraries in android.
  • modify generated c-shard library 's name which determined by your first package name. Fox example, if your first package name (from the array result of package scanning ) is "package test", so that the c-shard library name would be "libtest.so"

How to import multiple android archive into android studio

  1. initialize your go module

    i. go mod init

    ii. replace gomobile remote repository using command : go mod edit -replace=golang.org/x/mobile@latest=github.com/MrKrisYu/mobile@latest,or manually edit go.mod as following

    modulebonjourgo1.21.1replacegolang.org/x/mobilev0.0.0=>github.com/MrKrisYu/mobilev0.0.0-20230925073923-bf58556eb872require (
    golang.org/x/mobilev0.0.0// indirectgolang.org/x/modv0.12.0// indirectgolang.org/x/sysv0.12.0// indirectgolang.org/x/toolsv0.13.0// indirect
    ) 

    iii. get gomobile/bind dependency

    goenv-wGOPROXY=https://goproxy.cngogetgolang.org/x/mobile/bind
  2. install gomobile

    ​ i. git clone https://github.com/MrKrisYu/mobile.git, then cd mobile/cmd/gomobile directory, finally install gomobile.exe or gomobile(based on your os) using command: go install .

    ​ ii. initialize gomobile(On condition that you have already prepare NDK, Android SDK, JDK, ) using command: gomobile init

    ​ iii. due to gombile init will automatically install gobind from golang.org/x/mobile, you need cd previous cloned project 's mobile/cmd/gobind directory and then open terminal and run command go install . to replace gobind exectuable file.

  3. compile AAR files

    if you successful get gomobile executable file, now you are able to build aar using command: gomobile bind -target=android <YourPackage> -v

  4. Import multi aar into Android Studio Project(The following will be referred to AS)

    ​ i. copy your aar files and gomobile-java.jar(at libs directory) into your libs directory in AS project

    ​ ii. add some configuration into your application 's settings.gradle as following

//=============setting.gradle=================dependencyResolutionManagement {
repositories {
flatDir {
dirs 'libs'
}
}
}
//=============build.gradle(Your Application)====== dependencies {
implementation(name: 'AAR-1-Module-From-Gomobile', ext: 'aar')
...
implementation(name: 'AAR-N-Module-From-Gomobile', ext: 'aar')
implementation(name: 'gomobile-java', ext: 'jar')
} 

​ iii. sync your gradle setting, now you are able to use your libs.

Go support for Mobile devices

Go Reference

The Go mobile repository holds packages and build tools for using Go on mobile platforms.

Package documentation as a starting point:

Caution image

The Go Mobile project is experimental. Use this at your own risk. While we are working hard to improve it, neither Google nor the Go team can provide end-user support.

This is early work and installing the build system requires Go 1.5. Follow the instructions on golang.org/wiki/Mobile to install the gomobile command, build the basic and the bind example apps.

--

Contributions to Go are appreciated. See https://golang.org/doc/contribute.html.

About

[mirror] Go on Mobile

Resources

Contributing

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

New Feature

  • fix issue #56567 —— x/mobile:multiple libraries in android.
  • modify generated c-shard library 's name which determined by your first package name. Fox example, if your first package name (from the array result of package scanning ) is "package test", so that the c-shard library name would be "libtest.so"

How to import multiple android archive into android studio

  1. initialize your go module

    i. go mod init

    ii. replace gomobile remote repository using command : go mod edit -replace=golang.org/x/mobile@latest=github.com/MrKrisYu/mobile@latest,or manually edit go.mod as following

    modulebonjourgo1.21.1replacegolang.org/x/mobilev0.0.0=>github.com/MrKrisYu/mobilev0.0.0-20230925073923-bf58556eb872require (
    golang.org/x/mobilev0.0.0// indirectgolang.org/x/modv0.12.0// indirectgolang.org/x/sysv0.12.0// indirectgolang.org/x/toolsv0.13.0// indirect
    ) 

    iii. get gomobile/bind dependency

    goenv-wGOPROXY=https://goproxy.cngogetgolang.org/x/mobile/bind
  2. install gomobile

    ​ i. git clone https://github.com/MrKrisYu/mobile.git, then cd mobile/cmd/gomobile directory, finally install gomobile.exe or gomobile(based on your os) using command: go install .

    ​ ii. initialize gomobile(On condition that you have already prepare NDK, Android SDK, JDK, ) using command: gomobile init

    ​ iii. due to gombile init will automatically install gobind from golang.org/x/mobile, you need cd previous cloned project 's mobile/cmd/gobind directory and then open terminal and run command go install . to replace gobind exectuable file.

  3. compile AAR files

    if you successful get gomobile executable file, now you are able to build aar using command: gomobile bind -target=android <YourPackage> -v

  4. Import multi aar into Android Studio Project(The following will be referred to AS)

    ​ i. copy your aar files and gomobile-java.jar(at libs directory) into your libs directory in AS project

    ​ ii. add some configuration into your application 's settings.gradle as following

//=============setting.gradle=================dependencyResolutionManagement {
repositories {
flatDir {
dirs 'libs'
}
}
}
//=============build.gradle(Your Application)====== dependencies {
implementation(name: 'AAR-1-Module-From-Gomobile', ext: 'aar')
...
implementation(name: 'AAR-N-Module-From-Gomobile', ext: 'aar')
implementation(name: 'gomobile-java', ext: 'jar')
} 

​ iii. sync your gradle setting, now you are able to use your libs.

Go support for Mobile devices

Go Reference

The Go mobile repository holds packages and build tools for using Go on mobile platforms.

Package documentation as a starting point:

Caution image

The Go Mobile project is experimental. Use this at your own risk. While we are working hard to improve it, neither Google nor the Go team can provide end-user support.

This is early work and installing the build system requires Go 1.5. Follow the instructions on golang.org/wiki/Mobile to install the gomobile command, build the basic and the bind example apps.

--

Contributions to Go are appreciated. See https://golang.org/doc/contribute.html.

About

[mirror] Go on Mobile

Resources

Contributing

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages